【问题标题】:Html.DropDownListFor value duplicates when add a Preselect value添加预选值时,Html.DropDownListFor 值重复
【发布时间】:2021-06-30 06:18:12
【问题描述】:

我的代码是这样的

List<String> ddlData = new List<string>();
ddlData.Add("--Select--");
ddlData.Add("Manager");

@Html.DropDownListFor(n => n.myddl, new SelectList(ddlData), "Manager", new { @class = "custom-select" })

在我看来一切都很好,但是当 Dropdown 加载时,它会加载两个“Manager”。我只想填充 ddlData 项目并预选“经理”。

【问题讨论】:

    标签: c# asp.net-mvc html.dropdownlistfor


    【解决方案1】:

    如果 ddlData 在视图中定义,您可以尝试:

    @Html.DropDownListFor(m => ddlData,
        ddlData.Select(d => { return new SelectListItem() { Selected = (d.ToString() == "Manager"),  Text = d, Value = d }; }),
        null, new { @class = "custom-select" })
    

    但是如果ddlData作为参数传递给视图并且视图模型定义为 @model IList&lt;string&gt; 下面的行也将正确填充DropDownList

    @Html.DropDownListFor(m => Model.GetEnumerator().Current,
        Model.Select(d =>
        {
            return new SelectListItem() { Selected = (d.ToString() == "Manager"), Text = d, Value = d };
        }),
        null, new { @class = "custom-select" })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-06
      • 2017-01-10
      • 2014-07-11
      • 1970-01-01
      • 2013-10-28
      相关资源
      最近更新 更多