本文介绍了表单提交时堆栈溢出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在创建两个登录表单:Razor Page
页面模型Login.cshtml.cs
如下
public void OnGet()
{
}
[BindProperty]
public Admin Admin { get; set; }
[BindProperty]
public Member Member { get; set; }
public IActionResult OnPostManager()
{
return RedirectToPage("../Index");
}
public IActionResult OnPostMember()
{
return RedirectToPage("../Index");
}
这是Login.cshtml文件
<div class="col">
<form method="post">
<input type="hidden" asp-for="Admin.Id" />
<input type="text" asp-for="Admin.Name" />
<button type="button" asp-page_handler="Manager">Login</button>
</form>
<form method="post">
<input type="hidden" asp-for="Member.Id" />
<input type="text" asp-for="Member.Name" />
<button type="button" asp-page_handler="Member">Login</button>
</form>
</div>
问题是,当我单击成员的登录按钮时,它会成功重定向到索引页。
但当我点击管理员登录时,Web应用程序崩溃,并显示错误StackOverflow[Just the Keyword]。
我已尝试;
- 删除bin和obj。
- 删除IISExpress文件夹和.vs文件夹
- 重新启动Visual Studio
- 重新启动计算机
- 删除%TEMP%文件
但没有解决方案。
[注意:这是原始文件的简化代码,原始文件包含更多的css和图标]
推荐答案
<form method="post" class="login-form">
<div class="form-group">
<div class="icon d-flex align-items-center justify-content-center"><span
class="fa fa-user"></span></div>
<input type="text" class="form-control" asp-for="FirstName" placeholder="FirstName"
required>
</div>
<div class="form-group">
<div class="icon d-flex align-items-center justify-content-center"><span
class="fa fa-lock"></span></div>
<input type="password" class="form-control" asp-for="LastName"
placeholder="LastName" required>
</div>
<div class="form-group">
<button type="submit" id="submitBtn"
class="btn form-control btn-primary rounded submit px-3">Go!</button>
</div>
</form>
//Login.cshtml.cs
[BindProperty]
public string FirstName { get; set; }
[BindProperty]
public string LastName { get; set; }
public async Task<IActionResult> OnPostAsync()
{
LoginRequest request = new LoginRequest
{
FirstName = FirstName,
LastName = LastName,
};
.
.
.
if (..)
{
return RedirectToPage("./Home");
}
return Page();
}
这篇关于表单提交时堆栈溢出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!