正在禁用的编辑器
本文关键字:编辑器 | 更新日期: 2023-09-27 18:21:52
我有一个EditorFor HTML助手,如下所示:
<td>@Html.EditorFor(m => m.Name, belowLevel ? disabledHtmlOptions : null)</td>
-
object disabledHtmlOptions = new { disabled = "disabled" };
我每次都想让这个变成残疾人。我该怎么做?我不想做数据注释,因为这个属性也在其他视图中使用。只有在这个视图上我才想禁用它。
@Html.EditorFor(model => m.Name, new { htmlAttributes = new { disabled = "disabled" } })
如果您坚持使用EditorFor
,您可以在页面加载时通过jQuery设置禁用的属性。我知道这并不理想,但这是唯一的方法,除非你为EditorFor创建一个接受htmlAttributes集合的重载
$(document).ready(function() {
$('#Name').attr('disabled', 'disabled');
});
您只需为视图呈现HTML即可。如果它是"只读"的,只需渲染文本即可。否则,可以渲染<input>
元素。
例如,代替
<td>@Html.EditorFor( m => m.Name )</td>
进行
<td>@Model.Name</td>
或
<td><input type="text">@Model.Name</input></td>
我不相信EditorFor
方法的签名允许您指定任何HTML属性。但是,如果将其更改为TextBoxFor
,则可以。
<td>@Html.TextBoxFor(m => m.Name, belowLevel ? disabledHtmlOptions : null)</td>