为什么我的HTML表单没有提交到ASP.NET Core MVC的 POST操作?

前端开发 2026-07-10

我在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导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章