使用MVC Html.DropDownList时,需要设置什么选项才能使下拉框为只读状态?Html.DropDownList - 已禁用/只读
我试过的东西....
Html.DropDownList("Types", Model.Types, new { _Enabled = "false" })
...并沿着这条线许多不同的事情;唉,没有快乐!
我认为这将是一个简单的.....它可能是!
使用MVC Html.DropDownList时,需要设置什么选项才能使下拉框为只读状态?Html.DropDownList - 已禁用/只读
我试过的东西....
Html.DropDownList("Types", Model.Types, new { _Enabled = "false" })
...并沿着这条线许多不同的事情;唉,没有快乐!
我认为这将是一个简单的.....它可能是!
或者你可以尝试这样的事:
Html.DropDownList("Types", Model.Types, new { @readonly = "true" })
这是行不通的。该下拉列表显示为灰色,但仍然可用且可用。 – Kye
嗨,我想要禁用/启用只有基于价值的特定页面的下拉菜单,我通过模型传递它。我尝试将true/false传递给残疾人,但它不起作用。可以帮助您解决这个问题 – ravithejag
<script type="text/javascript">
$(function() {
$(document) .ajaxStart(function() {
$("#dropdownID").attr("disabled", "disabled");
})
.ajaxStop(function() {
$("#dropdownID").removeAttr("disabled");
});
});
</script>
关于抓22:
如果我们使用@disabled
,现场不发送到行动(Mamoud) 如果我们使用@readonly
,下拉错误st生病让你改变的值
解决方法:使用@disabled
,并添加隐藏下拉后场:
@Html.HiddenFor(model => model.xxxxxxxx)
然后,它是真正的残疾人,并送到的动作了。
这是我找到的最有用的解决方案。我不知道为什么它得到这么小的选票。 – Mikhail
真的很好的提示。我只是在没有看到下面的评论的情况下才回答了答案,并且花了我2个小时才找到为什么在后发布中设置了零值。 – tete
您必须小心使用此解决方案:MVC将打印两个带有属性的元素'id =“MyModelField”',如果你愿意使用JS与选择/隐藏元素进行交互,这可能会非常棘手。 – chteuchteu
我只是做到这一点,收工
Model.Id > -1 ? Html.EnumDropDownListFor(m => m.Property, new { disabled = "disabled" }) : Html.EnumDropDownListFor(m => m.Property)
我已经创建上面提到的所有意见&答案后,这个答案。 这将解决下拉群体错误,即使它被禁用。
步骤01
Html.DropDownList("Types", Model.Types, new {@readonly="readonly"})
步骤02 这是CSS pointerevent除去代码。
<style type="text/css">
#Types {
pointer-events:none;
}
</style>
那么你可以有预期的结果
测试&我不得不禁用下拉列表和隐藏的主ID
<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>
风格
将这个select[readonly] option, select[readonly] optgroup {
display: none;
}
@Html.DropDownList("Types", Model.Types, new { @disabled = "" })
作品
HTML。DropDownList的( “类型”,Model.Types,新的{@disabled = “禁用”}) @ Html.Hidden(Model.Types) 和用于保存和恢复数据,使用隐藏控制
甲尖端可能对某些人显而易见,但不是其他人。
如果您使用的是基于DropDownListFor
的HTML助手,那么您的ID将在HiddenFor
输入中重复。因此,您将有重复的ID在HTML中无效,如果您使用JavaScript来填充HiddenFor
和DropDownList
,那么您将遇到问题。
的解决方案是手动设置的ID属性的htmlattributes阵列中...下面
@Html.HiddenFor(model => model.Entity)
@Html.EnumDropDownListFor(
model => model.Entity,
new {
@class = "form-control sharp",
onchange = "",
id =` "EntityDD",
disabled = "disabled"
}
)
通知@Thomas'的回答。将Html.DropDownList标记为禁用可阻止表单发布其保存的值。如何禁用或只读的控件,但仍提交表格后的价值? – YeahStu
如何使用一个布尔值禁用动态设置属性? – Superman