2014-04-16 30 views
0

我有一个主视图模型,其中包含各种其他视图模型,其中包括其他视图模型的列表。我可以通过在视图中使用大量的@Html.HiddenFor()语句来保留主视图模型的状态,但是这看起来不整洁,特别是当这样做基本上用视图模型重建每个成员字段时。有更好的方法吗?还是最常用的方法?在发布请求之间保留复杂视图模型数据

如果一个捕获所有@Html.HiddenFor(model => model.viewModel)自动包括所有成员将是很好。

回答

1

将隐藏字段中的对象主键保存并在POST请求中重新获取数据是一种更好的做法。填充列表的计数相同。我通常创建一个方法,负责使用数据填充我的视图模型,并在GET和POST操作中调用此方法。

+0

我想过这种方式,因为它适合无状态的做法,我担心的是大量使用数据库调用。 – Lee

+0

@如果性能是一个问题,你可以考虑缓存。但我认为你不应该担心一些额外的数据库调用,在我看来,清洁的应用程序设计更重要。 –