2010-04-29 42 views
2

我有一个编辑视图显示一些模型属性作为纯文本和其他模型属性作为输入字段。我的问题是,当模型在验证错误后返回到视图时,以纯文本显示的模型属性为null。ASP.Net MVC 2:如何保留文章之间的模型值

当我没有所有属性的输入字段时,如何保留模型值?什么是最佳做法?

我的第一个想法是将这些属性的值保留在隐藏的输入元素中。

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

这是否被认为是正确的解决方案?

感谢 安德烈亚斯

回答

5

您可以:

  1. 使用隐藏域,你的建议,或
  2. 重新填充在POST行动返回视图之前“丢失”的领域。

选择适合您的应用程序。

+1

我想补充一点,来自web表单背景的心态是尝试并保留字段,但如果您坐下来并真正考虑它,那么重新填充的开销并不是大多数应用程序的交易断路器,并且使得维护更容易。 – Paddy 2010-04-29 13:27:41

+0

帕迪,你是对的。重新填充是一个更清洁的解决方案,在我的情况下,性能不是问题。我会为此而努力。谢谢! – Andreas 2010-04-29 14:40:28

+0

另一种选择是传回与表单发布的相同模型,这样您可以像用户键入它们一样保留值。 – JoseMarmolejos 2010-04-29 22:37:29