2009-10-06 91 views
1

刚刚阅读Maarten Balliauw的blog postAsp.net MVC与ViewState?

想问“`吨一站式调试,大量服务器双面” RAD控制将

<%Html.Serialize("person", Model); %> 

回一堆?

这是包括这个好主意吗?

如果是这样 - 什么样的用法是合适的?

回答

2

我更多地将它视为避免使用会话在动作之间传输数据的方式,而不是视图状态本身,这就是我将其用于的目的。对我来说,实现某种向导类型功能的理想方式是在将任何内容持久存储到数据库之前,通过一系列操作将数据转发到其中。当然,我认为有过度使用的危险,但只要框架不会自动强加给你,那么我看不到视图状态出现同样的危险。在视图状态下,你必须跳过篮圈(并且可能会破坏流程中的其他内容)以避免它。

1

我们不应该将Base64编码与ViewState等同起来。我没有看到该片段中的序列化视图的状态。我看到模型的状态。因此将其描述为ViewState For Asp.net MVC非常具有误导性。

也认为这是选择,并不是以任何方式自动。它的主要用途可能是用于乐观并发以及向导用户界面,其中您希望将用户先前的选择存储在视图中而不是Session或Cookie。

+0

我只是想整理一下。在我的某个地方,我觉得这没有错(真的很奇怪 - Asp.Net Mvc在我看来像是一部真正的杰作),但没有任何争论,因为。还没有触及那件事。 – 2009-10-07 08:09:44