Asp.net mvc 3 将mvc下拉列表绑定到基本列表
我试图添加一个基本的下拉列表到我的视图中,只需简单的“请选择”、“是”、“否”选项 默认情况下,我希望选择“请选择” 我创建了一个简单的选择列表,并将3个项目添加到其中Asp.net mvc 3 将mvc下拉列表绑定到基本列表,asp.net-mvc-3,Asp.net Mvc 3,我试图添加一个基本的下拉列表到我的视图中,只需简单的“请选择”、“是”、“否”选项 默认情况下,我希望选择“请选择” 我创建了一个简单的选择列表,并将3个项目添加到其中 var list = new SelectList(new[] { new{ID="0",Name="- Please Select -"},
var list = new SelectList(new[]
{
new{ID="0",Name="- Please Select -"},
new{ID="True",Name="Yes"},
new{ID="False",Name="No"},
},"ID","Name",0);
ViewBag.List= list;
我的看法
@Html.DropDownList("Terms", ViewBag.List as SelectList, new { @class = "drop"})
但是,每次加载页面时,都会选择ID“False”
在控制器级别,我可以看到ID 0已被选中,但视图正在以某种方式将所选项目更改为列表中的最后一个项目
我需要改变什么
我只是使用ID 0,1,2进行测试,它可以工作,但是我希望能够使用true false,因为它映射回我模型中的布尔字段。您需要更改选择列表,如下所示:
var list = new SelectList(new[]
{
new{ID="0",Name="- Please Select -"},
new{ID="True",Name="Yes"},
new{ID="False",Name="No"},
}, "ID", "Name", "0");
请注意,SelectList的构造函数中的“0”是字符串,并用双引号括起来。您最好为下拉列表使用不同的构造函数,而不是在控制器/模型中设置选项标签。例如,如果要指定选项标签,可以这样做:
@Html.DropDownList("Terms", ViewBag.List as SelectList, "- Please Select -", new { @class = "drop" })