Asp.net mvc 如何在MVC中为@HTMLdropdownlistfor设置默认值

Asp.net mvc 如何在MVC中为@HTMLdropdownlistfor设置默认值,asp.net-mvc,default,html.dropdownlistfor,Asp.net Mvc,Default,Html.dropdownlistfor,我正在传递一个viewbag以作为选择列表查看,如下所示 ViewBag.Currency = new SelectList(db.portal_lookup.Where(c => c.lookup_type == "FND_CURRENCY").OrderBy(m => m.lookup_description), "lookup_id", "lookup_description"); @Html.DropDownListFor(model => mod

我正在传递一个viewbag以作为选择列表查看,如下所示

    ViewBag.Currency = new SelectList(db.portal_lookup.Where(c => c.lookup_type 
== "FND_CURRENCY").OrderBy(m => m.lookup_description), "lookup_id", "lookup_description");
     @Html.DropDownListFor(model => model.currency_code,
(SelectList)@ViewBag.Currency,"",new {  @class = "m-wrap" })
在视图中,我显示如下

    ViewBag.Currency = new SelectList(db.portal_lookup.Where(c => c.lookup_type 
== "FND_CURRENCY").OrderBy(m => m.lookup_description), "lookup_id", "lookup_description");
     @Html.DropDownListFor(model => model.currency_code,
(SelectList)@ViewBag.Currency,"",new {  @class = "m-wrap" })

默认情况下,此dropdownlistfor的值应为“IND”,我如何设置它?

您最好的选择可能是填充传递给视图的模型,假设您传递了一个,那么您可以设置

model.currency_code = "IND".
或者,您也可以使用新SelectList的重载来指定所选值:

SelectList构造函数(IEnumerable、String、String、Object) 使用列表、数据值字段、数据文本字段和选定值的指定项初始化SelectList类的新实例


希望有帮助。

第一个选项是正确的。第二个是错误的,当您绑定到s model属性时,它什么也不做(它被忽略,因为该方法在内部根据属性的值构建自己的选择列表)