10

在 MVC3 中,我的控制器上有此代码。它从 Installation 表中检索 IDs\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 列表中的第一项设置为默认选定值,而不是“- 选择一个 -” 文本。

我该怎么做?

提前致谢!

4

3 回答 3

22

SelectList具有 4 个参数的构造函数有一个重载。最后一个是默认选择的对象。例如:

ViewBag.Vessels = new SelectList(vs, "InstId", "InstName", selectedValue);

selectedValue列表中的任何类型的对象在哪里。

于 2013-04-30T11:10:42.940 回答
4

我需要将 ViewBag 列表中的第一项设置为默认选定值,而不是“- 选择一个 -” 文本。

然后您需要选择列表中的第一项 ( vs) 并获取它的 id 并将其用作selecedValueSelectList 中的

ViewBag.Vessels = new SelectList(vs, "InstId", "InstName", 
    vs.FirstOrDefault().InstId);
于 2013-04-30T11:19:35.920 回答
0

您还可以为 Dropdownlist 创建一个 Helper 类它将有一个方法将文本设置为解决方案中每个下拉列表的默认文本

于 2013-04-30T11:15:07.800 回答