如何创建下拉列表在ASP禁用.. NET Razor MVC 5

本文关键字:禁用 ASP NET Razor MVC 下拉列表 何创建 创建 | 更新日期: 2023-09-27 18:02:47

    <div class="form-group">            
        @Html.LabelFor(model => model.CourseStatus, new { @class = "control-label col-md-2" })    
        <div class="col-md-10">
            @Html.DropDownList("statusList", String.Empty, new { @disbled = disabled})
            @Html.ValidationMessageFor(model => model.CourseStatus)       
        </div>
    </div>

我是ASP的新手。NET MVC5和RAZOR。我只是想创建一个禁用的下拉列表。我已经创建了SelectList名称"statusList"。我试图通过它来称呼身份。但我想将其禁用,并设置为默认状态

如何创建下拉列表在ASP禁用.. NET Razor MVC 5

Html.DropDownList有这些重载。你必须用一个以htmlAttributes为参数的。

可以使用重载:

@Html.DropDownList("statusList", null, String.Empty, new { disabled = "disabled"})

必须使用下面的重载:

Html.DropDownList(
    string name,
    IEnumerable<SelectListItem> selectList,
    string optionLabel,
    IDictionary<string, Object> htmlAttributes
)
<<p>看到strong>细节在MSDN

您需要这样使用。对于没有任何值的Empty下拉列表,您应该使用。

@Html.DropDownList("statusList", new List<SelectListItem> { }, String.Empty, new { disabled = "disabled" })

,如果你也想填充值,你可以这样使用。

@{
  List<SelectListItem> list = new List<SelectListItem>();
  list.Add(new SelectListItem {  Value="1", Text="Test Status"});
}
@Html.DropDownList("statusList", list , String.Empty, new { disabled = "disabled" })

你的问题是当你试图禁用,我建议你改变这个

@Html。DropDownList("statusList"字符串。空,new {@ disabled = disabled})

以下代码

@Html。DropDownList("statusList"字符串。空,new {@disabled = true})

控制器

IEnumerable<SelectListItem> itemEtatRenseig = listeEtatRens.Select(c => new SelectListItem
        {
                Value = c.EtatReseigne,
                Text = c.EtatReseigne,
        });
        VewBag.EtatRenseign = new SelectList(itemEtatRenseig, "Value", "Text", Rapport.RapportList.FirstOrDefault().EtatReseigne); 

视图:

@Html.DropDownList("EtatRenseign",null,"--Sélectionner un etat--", new { disabled = "disabled" })