尝试这个
Html.DropDownList("Types", Model.Types, new { @disabled = "disabled" })
关于22:
如果我们使用@disabled ,这个字段不会被发送到动作(Mamoud)如果我们使用@readonly ,那么下拉错误仍然可以让你改变这个值
解决方法:使用@disabled ,并添加下拉菜单后隐藏的字段:
@Html.HiddenFor(model => model.xxxxxxxx)
然后它真的被禁用,并发送到行动。
或者你可以尝试这样的事情:
Html.DropDownList("Types", Model.Types, new { @readonly = "true" })
我只是这样做,并把它叫做一天
Model.Id > -1 ? Html.EnumDropDownListFor(m => m.Property, new { disabled = "disabled" }) : Html.EnumDropDownListFor(m => m.Property)
杰米R的工作最适合我
我在提到所有评论和答案之后创build了这个答案。 这将解决下拉的人口错误,即使它被禁用。
步骤01
Html.DropDownList("Types", Model.Types, new {@readonly="readonly"})
把这个风格
select[readonly] option, select[readonly] optgroup { display: none; }
@Html.DropDownList("Types", Model.Types, new { @disabled = "" })
作品
Html.DropDownList(“Types”,Model.Types,new {@disabled =“disabled”})@ Html.Hidden(Model.Types)并用于保存和恢复数据,使用隐藏的控件