我正在开发MVC 4,我希望有一个只读文本框。我决定使用@ Html.DisplayFor,但我不能在客户端显示它?
<div class="editor-label">
@Html.LabelFor(model => model.GoodsModel.SerialNumber) <label id ="VGoodsSerialNumber" style="color: #FF0000;"/>
</div>
<div class="editor-field">
@Html.DisplayFor(model => model.GoodsModel.SerialNumber)
@*@Html.EditorFor(model => model.GoodsModel.SerialNumber, new { disabled = "disabled", @readonly = "readonly" })*@
</div>
然后当我跑步时我找不到它?
答案 0 :(得分:2)
Html.EditorFor没有htmlAttributes参数。如果要传递html属性,则需要使用Html.TextBoxFor:
@Html.TextBoxFor(model => model.GoodsModel.SerialNumber, new { @readonly = "readonly" })
另外,使用disabled或readonly。禁用输入时,在提交表单时,其值不会发布到服务器。只读输入仍将被发布,但用户无法更改其值。