在C#中设置下拉列表的默认值

时间:2020-06-18 19:37:19

标签: c# html razor

我目前有一个下拉列表,如下所示

@Html.DropDownList("ItemID", null, "-- Select --", htmlAttributes: new { @class = "form-control chosen-select" })

产生默认值“-选择-”

但是我想更改它,因此默认值为模型中的当前ItemID。

像这样

@Html.DropDownList("ItemID", null, @Model.ItemID, htmlAttributes: new { @class = "form-control chosen-select" })

我该怎么做?

2 个答案:

答案 0 :(得分:0)

这里的第二个参数应该是值的完整列表。 即

@Html.DropDownList("ItemID", Model.ListOfValues, Model.ItemID, htmlAttributes: new { @class = "form-control chosen-select" })

使Model.ItemID应该存在于Model.ListOfValues列表中

答案 1 :(得分:0)

第二个参数(您设置为null的参数)应该是SelectListItem对象的集合,其中一个对象的Selected属性设置为true。在您的代码中:

 model.ItemID = 123;

 model.Items = dbquery.Items.Select(dbitem => new SelectListItem(){ 
    Text = dbitem.DisplayName,
    Value = dbitem.ID,
    Selected = (model.ItemID == dbitem.ID)
 });

然后在您的标记中:

@Html.DropDownList("ItemID", @Model.Items, @Model.ItemID, htmlAttribu...