使用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