在ASP.NET MVC中,如果使用表单提交多选选项时,无法正确显示已选中的值的问题,可以通过以下解决方法:
Html.CheckBoxFor()
或Html.CheckBox()
方法生成复选框表单元素。@foreach (var option in Model.Options)
{
@Html.CheckBoxFor(m => m.SelectedOptions, new { value = option.Value, id = "option-" + option.Value })
@Html.Label("option-" + option.Value, option.Text)
}
[HttpPost]
public ActionResult Update(FormCollection form)
{
// 使用FormCollection来接收表单数据
var selectedOptions = form.GetValues("SelectedOptions");
// 处理选中的选项值
// ...
return RedirectToAction("Index");
}
[HttpPost]
public ActionResult Update(MyModel model)
{
// 将表单提交的多选选项值手动处理为一个字符串数组
model.SelectedOptions = Request.Form.GetValues("SelectedOptions");
// 处理选中的选项值
// ...
return RedirectToAction("Index");
}
通过以上方法,可以解决ASP.NET MVC中更新表单多选无法显示值的问题。