【发布时间】:2012-10-02 00:14:06
【问题描述】:
目前,我正在 MVC4 中创建一些用户配置文件编辑表单,为了进行测试,我将 UserId 属性呈现为表单上的只读文本框,如下所示:
<li>
@Html.LabelFor(model => model.UserId)
@Html.TextBoxFor(model => model.UserId, new { @readonly="readonly"})
</li>
当我接近完成编辑表单时,我删除了这个文本框,因为它只是用完房地产。完成此操作后,保存时发送回控制器的模型具有整数默认值 0,然后实体框架因无法更新任何行而崩溃。所以我在表单中添加了这个:
<li>
@Html.HiddenFor(model => model.UserId, new { @readonly="readonly"})
</li>
这是一个安全的举动吗?我应该将 ViewBag 用于这样的事情吗?在个人资料详细信息页面上,我呈现了一个编辑按钮,如下所示:
@Html.ActionLink("Edit", "Edit", new { id=Model.UserId })
表示在链接中呈现 UserId。这是安全可靠的还是我需要重新考虑如何在 UI 中移动模型和 ID?
TIA,
【问题讨论】:
标签: asp.net-mvc data-binding razor model