在MVC4中显示名称而不是编辑器字段

时间:2014-04-30 09:24:16

标签: asp.net-mvc

我在编辑表格中显示:用户名,时区,客户......

我不想编辑用户名,只显示他的名字。

我在View中使用的代码:

    <label>Username </label> 
    <div class="editor-field">
        @Html.EditorFor(model => model.username)
    </div>

那么放置什么来代替EditorFor,它将显示用户名(仅用于阅读,而不是用于编辑)。

2 个答案:

答案 0 :(得分:1)

为什么不直接使用@Html.DisplayFor?这只会将用户名显示为标签。或者,如果您希望使用@Html.EditorFor@Html.EditorForModel,则可以为username属性创建自定义editor template,并在编辑器模板中显示内容,而不是启用编辑。

此外,我建议您在模型绑定期间使用[Bind(Exclude="username")]动作方法中的模型参数POST来排除此属性,以防止注入攻击。有关此here的更多信息。

答案 1 :(得分:0)

找到解决方案:

@Html.TextBoxFor(model => model.username, new {disabled = "disabled", @readonly = "readonly" })