【问题标题】:Setting default value of dropdownlist in C# [duplicate]在C#中设置下拉列表的默认值[重复]
【发布时间】:2020-06-19 03:49:24
【问题描述】:

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

@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" })

我怎样才能做到这一点?

【问题讨论】:

    标签: c# html razor


    【解决方案1】:

    第二个参数,即您设置为 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...
    

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-07-06
        • 2016-08-23
        • 2013-10-23
        • 2016-09-16
        • 1970-01-01
        • 1970-01-01
        • 2018-09-23
        • 2014-07-28
        相关资源
        最近更新 更多