即使未定义所选值,也会选择asp.net mvc列表框选项
本文关键字:net asp 选择 mvc 列表 选项 未定义 | 更新日期: 2023-09-27 18:19:50
我使用的是asp.net mvc。我有一个列表框。此列表框中的选项在页面加载时始终处于选中状态。我尚未为此列表框定义任何选定的值。有人能告诉我为什么会发生这种事吗?
这是代码
@{
Dictionary<string, string> Options = new Dictionary<string, string>();
ddlOptions.Add("1", "1");
ddlOptions.Add("2", "2");
ddlOptions.Add("3", "3n");
ddlOptions.Add("4", "4");
}
<td>@Html.ListBoxFor(model => model.AvailableProducts,
new MultiSelectList(Options , "Key", "Value"),
new { size = "6" })
model.AvailableProducts是字符串列表:
List<string> product = new List<string>();
product.Add("1");
product.Add("2");
product.Add("3");
product.Add("4");
选项已经被选中,因为它们反映了模型的状态。这条线路
@Html.ListBoxFor(model => model.AvailableProducts
告诉ASP.NET MVC将属性model.AvailableProducts
绑定到列表框。由于此属性包含列表中显示的所有四个选项,因此默认情况下都会选中它们。您可以注释掉填充此列表的代码,并验证是否未选择任何选项。
如果您真的只想要一个列表框,其中包含将名称为AvailableProducts
的特定参数添加到请求中的选项,则可以使用Html.ListBox
:
@Html.ListBox("AvailableProducts",
new MultiSelectList(Options , "Key", "Value"),
new { size = "6" })