asp.net-mvc - Asp.net MVC 真的消除了 View 状态吗?

标签 asp.net-mvc webforms viewstate

ASP.net webforms 的主要问题之一是 View 状态机制,它需要大量带宽,因为他将所有表单输入序列化并通过 post 命令发送。

在我正在阅读的书中提到,MVC 优于 webforms 的主要优点之一是 mvc 不包含 View 状态。这听起来很酷,但据我所见,mvc 还会在 post 命令上发送所有输入(这是他可以使用他的绑定(bind)机制的唯一方法)。

那么区别是什么呢 ?您可以将其称为 View 状态,也可以将其称为“绑定(bind)”,但最重要的是 MVC 和 Web 表单都将所有输入序列化并在 POST 上全部发送。

我错了吗 ?如果不是,有什么区别?

最佳答案

巨大差距。 Viewstate 可以变得非常大。它保留不一定包含在表单数据中的值。想想 GridView 和标签等。它们不在输入字段中,但它们通过 ViewState 持久化。在 MVC 中确实没有持久性的概念。将数据返回到 View 取决于您(尽管绑定(bind)机制使这很容易做到)

关于asp.net-mvc - Asp.net MVC 真的消除了 View 状态吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6065056/

相关文章:

c# - 'Microsoft.ACE.OLEDB.12.0' 提供程序未在本地机器(服务器)上注册

c# - Razor 是倒退了一步吗?

asp.net - 什么是 View 状态?它是如何编码的?它是加密的吗?谁使用 ViewState?

viewstate - 如何解码 ASP.NET 4.5 ViewState

asp.net - 如何在 ASP.NET 中禁用 ControlState?

javascript - 如何仅从登录页面禁用 mvc 中的浏览器后退按钮?

c# - EditorFor/CheckBoxFor bool 值将 data-val-required 属性添加到 HTML,而无需将 required 属性添加到模型

javascript - 如何使用 jquery 隐藏/显示 <panel>?

asp.net-mvc - ASP.NET 网络表单是否被扫地出门为 mvc 腾出空间?

c# - 如何应用css input last-child?