在ASP.Net Core MVC中,如果在提交表单时出现“模型值未从选择框中设置”的错误,通常是因为模型绑定失败或没有正确设置选择框的数据源。
以下是一些常见的解决方法:
确保模型绑定正确设置:
asp-for
属性绑定选择框的值到模型属性。确保选择框的数据源正确设置:
asp-items
属性设置选择框的数据源,请确保数据源是正确的。以下是一个示例,演示了如何正确设置选择框的数据源和模型绑定:
// 模型类
public class MyModel
{
public int SelectedValue { get; set; }
public List Options { get; set; }
}
// 控制器动作方法
public IActionResult MyAction()
{
var model = new MyModel();
// 设置选择框的数据源
model.Options = new List
{
new SelectListItem { Value = "1", Text = "Option 1" },
new SelectListItem { Value = "2", Text = "Option 2" },
new SelectListItem { Value = "3", Text = "Option 3" }
};
return View(model);
}
// 视图
@model MyModel
在上面的示例中,MyModel
类具有一个 SelectedValue
属性,该属性用于绑定选择框的值。MyAction
控制器动作方法设置了选择框的数据源,然后将模型传递给视图。视图中使用 asp-for
属性将选择框的值绑定到模型属性,并使用 asp-items
属性设置选择框的数据源。
确保正确设置模型绑定和选择框的数据源后,提交表单时“模型值未从选择框中设置”的错误应该解决了。