Html.DropDownList – 禁用/只读
在使用MVC Html.DropDownList时,我需要设置什么选项来只读下拉框?
我尝试过像….
Html.DropDownList("Types", Model.Types, new { _Enabled = "false" })
沿着这条路线有很多不同的东西; 唉,没有快乐!
我认为这将是一个简单的…..它可能是!
尝试这个
Html.DropDownList("Types", Model.Types, new { @disabled = "disabled" })
关于22:
如果我们使用@disabled
,这个字段不会被发送到动作(Mamoud)如果我们使用@readonly
,那么下拉错误仍然可以让你改变这个值
解决方法:使用@disabled
,并添加下拉菜单后隐藏的字段:
@Html.HiddenFor(model => model.xxxxxxxx)
然后它真的被禁用,并发送到行动。
<script type="text/javascript"> $(function () { $(document) .ajaxStart(function () { $("#dropdownID").attr("disabled", "disabled"); }) .ajaxStop(function () { $("#dropdownID").removeAttr("disabled"); }); }); </script>
或者你可以尝试这样的事情:
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的工作最适合我
<div class="form-group"> @Html.LabelFor(model => model.OBJ_ID, "Objs", htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.DropDownList("OBJ_ID", null, htmlAttributes: new { @class = "form-control", @disabled = "disabled"}) @Html.HiddenFor(m => m.OBJ_ID) @Html.ValidationMessageFor(model => model.OBJ_ID, "", new { @class = "text-danger" }) </div> </div>
我在提到所有评论和答案之后创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)并用于保存和恢复数据,使用隐藏的控件