我正在尝试创建一个简单的“ Hello world” ASP.Net Core 3.1应用程序,但是尝试发布表单,却不断得到:
此页面无法正常工作。如果问题仍然存在,请与网站所有者联系。
HTTP错误400
重现步骤:
MSVS2019>新建项目> ASP.Net Core Web应用程序,C#
删除样板,在Pages *中自动生成的代码,替换我自己的Index.cshtml和Index.cshtml.cs
运行程序。我看到我的表格。
点击“提交”。我得到HTTP 400。
Pages \ Index.cshtml.cs
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace HelloUploads.Pages
{
public class IndexModel : PageModel
{
public IActionResult OnGet()
{
return Page();
}
public IActionResult OnPost()
{
return RedirectToPage("./Index");
}
}
}
Index.cshtml
@page
@model HelloUploads.Pages.IndexModel
@{
ViewData["Title"] = "Test";
}
<form method="post">
<input type="submit" >
</form>
我相信问题很简单。我尝试了许多变体,并且已经敲了好几个小时。
问:我在做什么错?有什么建议?
您的问题可能是防伪令牌。将@addTagHelper *,Microsoft.AspNetCore.Mvc.TagHelpers添加到页面
@page
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@model HelloUploads.Pages.IndexModel
@{
ViewData["Title"] = "Test";
}
<form method="post">
<input type="submit" >
</form>
在添加[ValidateAntiForgeryToken]属性后面的代码上
[ValidateAntiForgeryToken]
public IActionResult OnPost()
{
return RedirectToPage("./Index");
}
希望它能起作用!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句