Asp.net mvc 3 设置Html.DropdownList的默认值和CSS类

Asp.net mvc 3 设置Html.DropdownList的默认值和CSS类,asp.net-mvc-3,drop-down-menu,Asp.net Mvc 3,Drop Down Menu,我的控制器中有: ViewBag.CityId = new SelectList(new CityRepository().GetAll().OrderBy(x => x.Name),"CityId", "Name", new Guid("74898AD1-73BB-41E1-B1E1-484EACAFA4C4")); 在我看来: <%:Html.DropDownList("CityId", (IEnumerable<SelectListItem>)ViewBag

我的控制器中有:

   ViewBag.CityId = new SelectList(new CityRepository().GetAll().OrderBy(x => x.Name),"CityId", "Name", new Guid("74898AD1-73BB-41E1-B1E1-484EACAFA4C4"));
在我看来:

<%:Html.DropDownList("CityId", (IEnumerable<SelectListItem>)ViewBag.CityId, new { @class = "select-choice-1" })%>


但问题是没有选择默认值。如何一次设置默认值和Css类?

您需要为下拉列表使用不同的构造函数:

@Html.DropDownListFor(model => model.SelectedCity, (IEnumerable<SelectListItem>)ViewBag.CityId, "Select a City", new { @class = "select-choice-1" })
@Html.DropDownListFor(model=>model.SelectedCity,(IEnumerable)ViewBag.CityId,“选择一个城市”,新建{@class=“Select-choice-1”})

进一步阅读:

如果您查看我的控制器代码,我想将dropdowlist selected值设置为“74898AD1-73BB-41E1-B1E1-484EACAFA4C4”,而不是“请选择一个城市…”您需要查看我发布的控制器构造函数。“选择一个城市”只是选项标签。它不是选定的值。这不是您遇到的唯一问题,下面是关于如何解决问题的另一个示例: