Dot-Net
使用 Html.TextBoxFor 時可以將文本框設置為只讀嗎?
我有以下帶有 Html.TextBoxFor 表達式的標籤,我希望內容是只讀的,這可能嗎?
<%= Html.TextBoxFor(m => Model.Events.Subscribed[i].Action)%>
根據@1c1cle 在評論中的建議更新了現代版本的 .NET:
<%= Html.TextBoxFor(model => Model.SomeFieldName, new {{"readonly", "true"}}) %>請意識到這不是一種“安全”的方式來做到這一點,因為有人可以注入 javascript 來改變這一點。
需要注意的是,如果您將該
readonly值設置為false,您實際上不會看到任何行為變化!因此,如果您需要基於變數來驅動它,您不能簡單地將變數插入其中。相反,您需要使用條件邏輯來簡單地不傳遞該readonly屬性。這是一個未經測試的關於如何執行此操作的建議(如果有問題,您可以隨時執行 if/else):
<%= Html.TextBoxFor(model => Model.SomeFieldName, shouldBeReadOnlyBoolean ? new {{"readonly", "true"}} : null) %>
<%= Html.TextBoxFor(m => Model.Events.Subscribed[i].Action, new { @readonly = true })%>