【问题标题】:Asp.net MVC with ViewState?带有 ViewState 的 Asp.net MVC?
【发布时间】:2009-10-06 12:15:20
【问题描述】:

请阅读 Maarten Balliauw 的 blog post

想问问会

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

返回一堆“不要停止调试大量服务器端”的 RAD 控件?

加入这个是个好主意吗?

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

【问题讨论】:

    标签: asp.net-mvc viewstate


    【解决方案1】:

    我更多地将其视为一种避免使用会话在动作之间传输数据的方式,而不是视图状态本身,这就是我将使用它的目的。在我看来,这是一种实现某些向导类型功能的理想方式,您希望在将任何内容保存到数据库之前通过一系列操作将数据向前传递。当然,我认为存在过度使用它的危险,但只要框架不会自动将其强加给您,那么我就不会看到视图状态出现同样的危险。使用视图状态,您必须跳过障碍(并可能在此过程中破坏其他事情)以避免它。

    【讨论】:

      【解决方案2】:

      我们应该将 Base64 编码等同于 ViewState。我没有看到在那个 sn-p 中序列化的视图状态。我看到模型的状态。因此将其描述为 Asp.net MVC 的 ViewState 非常具有误导性。

      还要考虑这是选择加入,而不是以任何方式自动进行的。它的主要用途可能是乐观并发以及您希望将用户先前选择存储在视图中的向导 UI,而不是 Session 或 Cookie。

      【讨论】:

      • 我只是想解决这个问题。在里面的某个地方,我觉得这并没有错(这真的很奇怪——在我看来,Asp.Net Mvc 就像一个真正的杰作)但没有争论,因为。还没碰过那个东西。
      猜你喜欢
      • 2010-12-01
      • 1970-01-01
      • 2010-10-14
      • 2010-11-24
      • 2011-01-14
      • 2011-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多