Muk*_*esh 15 asp.net-mvc html.dropdownlistfor asp.net-mvc-3
我必须Html.DropDownList
静态绑定一个只有两个项目.
Text="Yes" Value="1"
Text="No" Value="0"
Run Code Online (Sandbox Code Playgroud)
重要的是,我必须设置文本和值字段.
我怎样才能做到这一点?
小智 33
我用这个正常工作
@Html.DropDownList("Status", new List<SelectListItem>
{
new SelectListItem{ Text="Active", Value = "1" },
new SelectListItem{ Text="Not-Active", Value = "0" }
})
Run Code Online (Sandbox Code Playgroud)
Sre*_*r P 25
最佳做法是不在视图中创建SelectList.您应该在控制器中创建它并使用ViewData传递它.
例:
var list = new SelectList(new []
{
new { ID = "1", Name = "name1" },
new { ID = "2", Name = "name2" },
new { ID = "3", Name = "name3" },
},
"ID", "Name", 1);
ViewData["list"]=list;
return View();
Run Code Online (Sandbox Code Playgroud)
传递给constratctor:IEnumerable objec,值字段是文本字段和选定的值.
在视图中:
<%=Html.DropDownList("list",ViewData["list"] as SelectList) %>
Run Code Online (Sandbox Code Playgroud)
下面的代码假设您正在使用剃刀视图引擎,否则您将需要转换它.
@{
var listItems = new List<ListItem>();
listItems.Add(new ListItem{Text="Yes", Value="1"});
listItems.Add(new ListItem{Text="No", Value="0"});
}
@Html.DropDownListFor(m=>m.SelectedValue, listItem);
Run Code Online (Sandbox Code Playgroud)
您应该考虑在代码中创建模型而不是视图.这也是编辑器模板的一个很好的候选者.
归档时间: |
|
查看次数: |
82752 次 |
最近记录: |