问题描述: 在ASP.NET MVC中使用MultiSelectList生成多选下拉列表时,选中项不起作用。
解决方法: 以下是一种可能的解决方法:
// 获取所有选项列表
var options = new List
{
new SelectListItem { Value = "1", Text = "Option 1" },
new SelectListItem { Value = "2", Text = "Option 2" },
new SelectListItem { Value = "3", Text = "Option 3" }
};
// 获取选中项的值
var selectedValues = new[] { "1", "3" }; // 假设选中了Option 1和Option 3
@Html.DropDownListFor(model => model.SelectedOptions, new MultiSelectList(options, "Value", "Text", Model.SelectedOptions), new { @class = "form-control", multiple = "multiple" })
在上面的示例中,model.SelectedOptions
是模型中的一个属性,用于存储选中项的值。
这样,当视图呈现时,选中项将根据Model.SelectedOptions
的值被自动选中。
请注意,options
是一个包含所有选项的列表,"Value"
和"Text"
是用于指定选项的值和显示文本的属性名称。
[HttpPost]
public ActionResult YourActionMethod(string[] selectedOptions)
{
// 处理选中的值
// ...
}
在上面的示例中,selectedOptions
是一个字符串数组,用于接收选中项的值。
通过以上步骤,你应该可以解决"ASP.NET MVC的MultiSelectList的选中项不起作用"的问题。