在ASP.NET Core MVC中,当表单提交时,字段值被默认转换为集合而不是字符串的原因可能是由于表单中存在多个相同名称的字段。为了解决这个问题,你可以使用以下方法之一:
BindProperty
特性:public class YourModel
{
[BindProperty]
public string YourField { get; set; }
}
在你的控制器中,将你的模型作为参数传递给POST方法:
[HttpPost]
public IActionResult YourAction(YourModel model)
{
// 通过model.YourField访问字段值
return View();
}
FromForm
特性:
如果你只想将特定的字段转换为字符串,你可以在控制器的POST方法中使用FromForm
特性:[HttpPost]
public IActionResult YourAction([FromForm(Name = "YourField")] string yourField)
{
// 通过yourField访问字段值
return View();
}
这两种方法都可以确保接收到的字段值被转换为字符串而不是集合。