问题描述:在ASP.NET Core MVC中,当提交表单时,表单数据没有被发送到控制器。
解决方法:
确保表单使用POST方法提交:
确保表单中有可绑定到控制器参数的输入元素:
在控制器中使用合适的参数接收表单数据:
public IActionResult ActionName(string paramName)
{
// 处理表单数据
return View();
}
如果表单中包含复杂类型的数据(如对象或集合),则需要使用模型绑定:
public IActionResult ActionName(MyModel model)
{
// 处理模型数据
return View();
}
在Startup.cs文件的ConfigureServices方法中,确保已启用模型绑定:
services.AddMvc().AddRazorPagesOptions(options => options.AllowAreas = true);
如果仍然无法解决问题,可以尝试在控制器的Action方法前添加[HttpPost]特性来强制使用POST方法接收表单数据:
[HttpPost]
public IActionResult ActionName(string paramName)
{
// 处理表单数据
return View();
}
以上是一些可能的解决方法,根据具体情况选择适合的方法进行调试和修复。