Asp.net mvc 3 在MVC3中的DropDownList中设置默认选定值

Asp.net mvc 3 在MVC3中的DropDownList中设置默认选定值,asp.net-mvc-3,html-helper,html-select,Asp.net Mvc 3,Html Helper,Html Select,在MVC3中,我的控制器上有这段代码。它从安装表中检索ID \名称列表,并创建一个ViewBag var vs = dba.Installation.OrderBy(q => q.InstName).ToList(); ViewBag.Vessels = new SelectList(vs, "InstId", "InstName"); 现在,在我看来。我想在下拉列表中呈现列表。我使用了Html帮助程序,效果很好 @Html.DropDownList("InstId",(SelectLi

在MVC3中,我的控制器上有这段代码。它从安装表中检索ID \名称列表,并创建一个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列表中的第一项设置为默认选定值,而不是“-Select one-”文本

我怎么做


提前谢谢

SelectList的构造函数有一个重载,它包含4个参数。最后一个是默认的选定对象。例如:

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

其中,
selectedValue
是列表中任何类型的对象。

您还可以为Dropdownlist创建一个帮助器类 它将有一种方法将文本设置为解决方案中每个dropdownlist的默认文本

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

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

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

谢谢@wheresawill。天啊!我没有意识到那是超负荷的。愚蠢的我。谢谢@K2_Ketu,但正如我所说的,有一个过载包括这个选项。