@ Html.DisplayFor()不会显示客户端?

时间:2013-06-28 12:58:14

标签: asp.net-mvc displayfor

我正在开发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>

然后当我跑步时我找不到它?

enter image description here

1 个答案:

答案 0 :(得分:2)

Html.EditorFor没有htmlAttributes参数。如果要传递html属性,则需要使用Html.TextBoxFor:

@Html.TextBoxFor(model => model.GoodsModel.SerialNumber, new { @readonly = "readonly" })

另外,使用disabled或readonly。禁用输入时,在提交表单时,其值不会发布到服务器。只读输入仍将被发布,但用户无法更改其值。