ASP.NET MVC - 显示没有更新值的模型字段

时间:2010-11-09 16:56:27

标签: asp.net-mvc-2

我目前正致力于ASP.NET MVC2中的强类型更新视图。除了用户可以更新的属性之外,还有一些用户无法更新的属性,但我仍想在页面上显示(例如,创建日期)。

以下是我如何显示这些不可编辑字段的示例:

<td>Created on:</td>
<td><%= Html.DisplayTextFor(model => model.CreatedOn) %></td>

但是,当我提交表单然后在控制器方法上使用断点来查看通过POST请求传递给方法的模型对象时,不可编辑的字段将设置为空值或空值(例如,CreatedOn日期设置为1/1/0001)。可编辑字段将使用正确的值传回。当我将表单发回控制器时,如何在保留原始值的同时显示这些不可编辑的字段?

2 个答案:

答案 0 :(得分:1)

您不需要原始值。如果使用UpdateModel(或TryUpdateModel),则可以设置应更新哪些属性。此解决方案也更安全,因为您明确告诉MVC应更新哪些属性。

答案 1 :(得分:0)

您需要使用隐藏字段,如下所示:

<%= Html.HiddenFor(model => model.CreatedOn) %>

这将是您的显示字段的补充。