在MVC3中的DropDownList中设置默认选定值

时间:2013-04-30 11:05:36

标签: asp.net-mvc-3 html-helper html-select

在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列表中的第一个项目设置为默认选定值,而不是“ - 选择一个 - ”文本。

我该怎么办?

提前致谢!

3 个答案:

答案 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类 它将有一种方法将文本设置为解决方案中每个下拉列表的默认文本