0

我目前有一个看起来像这样的下拉列表

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

这会产生一个默认值“-- Select --”

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

所以像这样

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

我怎样才能做到这一点?

4

2 回答 2

0

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

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

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

于 2020-06-18T19:46:55.453 回答
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...
于 2020-06-18T19:49:24.143 回答