在MVC3中,我在我的控制器上有这个代码。它从Installation表中检索ID \ Names列表并创建ViewBag
var vs = dba.Installation.OrderBy(q => q.InstName).ToList();
ViewBag.Vessels = new SelectList(vs, "InstId", "InstName");
现在,在我看来。我想在下拉列表中呈现列表。我使用了很好的Html助手......
@Html.DropDownList("InstId",(SelectList)ViewBag.Vessels, "- Select one -")
我需要将ViewBag列表中的第一个项目设置为默认选定值,而不是“ - 选择一个 - ”文本。
我该怎么办?
提前致谢!
答案 0 :(得分:21)
SelectList
构造函数有一个带有4个参数的重载。最后一个是默认的选定对象。 E.g:
ViewBag.Vessels = new SelectList(vs, "InstId", "InstName", selectedValue);
selectedValue
是列表中任何类型的对象。
答案 1 :(得分:4)
我需要在ViewBag列表中设置第一项作为默认选择 值,而不是“ - 选择一个 - ”文本。
然后你需要选择列表中的第一项(vs
)并获取它的id并将其用作SelectList中的selecedValue
:
ViewBag.Vessels = new SelectList(vs, "InstId", "InstName",
vs.FirstOrDefault().InstId);
答案 2 :(得分:0)
您还可以为Dropdownlist创建一个Helper类 它将有一种方法将文本设置为解决方案中每个下拉列表的默认文本