为什么我的HTML表单没有提交到ASP.NET Core MVC的 POST操作?
我在ASP.NET Core MVC的视图中有一个表单,但点击提交时,我的 POST 动作没有执行。
这是我的控制器方法:
public IActionResult Create()
{
return View();
}
[HttpPost]
public IActionResult Create(Product product)
{
return RedirectToAction("Index");
}
以下是视图:
<form>
<input asp-for="Name" />
<button type="submit">Save</button>
</form>
为什么表单没有提交到我的 POST 动作方法?
解决方案
一个HTML表单需要设置属性 method="post",才能发送HTTP POST请求。默认情况下,它会发送GET。
我猜在你提交表单时,打开浏览器的开发者工具,在Network面板中你会看到向ASP.NET应用发送了一个GET请求。显然,这个请求不会路由到配置为响应POST的动作方法。
如下:
<form method="post">
因此应该可以解决你的问题。
另请参阅 https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/form#method
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。