我是 Asp.Net 的新手。我有一个关于视图状态控件的问题。Msdn 说它是作为客户端状态管理,但建议如果页面上有大数据,因为性能问题可以禁用它。
那么,如果这是客户端状态,它会如何影响网站的页面加载时间呢?
我是 Asp.Net 的新手。我有一个关于视图状态控件的问题。Msdn 说它是作为客户端状态管理,但建议如果页面上有大数据,因为性能问题可以禁用它。
那么,如果这是客户端状态,它会如何影响网站的页面加载时间呢?
对于 ViewState 是什么和做什么的所有描述,这一切都归结为它完全是一件事...... ViewState 是一堆数据,经过序列化、base-64 编码,并填充到input type="hidden"
页面上的一个元素中。
每次将页面呈现给客户端时,都会将 ViewState 发送给客户端。每次客户端将表单发布到服务器时,都会将 ViewState 发送到服务器。
因此,例如,如果 ViewState 包含 200KB 的数据,那么每个请求都会来回发送 200KB。200KB 的隐藏信息,在页面渲染中是看不见的。可能不重要的数据。(基本上,粗鲁。)
是否需要在每个请求中来回发送所有这些数据?偶尔可能会很方便,但是是否需要在每个请求中管理所有状态?机会是,可能不是。因此,您可以通过不在页面中管理该状态并为某些页面元素适当地禁用 ViewState 来调整性能。
有些状态可以完全在服务器端管理,有些可以在其他页面元素中更隐式地管理,有些根本不需要管理。(由于 Web 应用程序被设计为无状态的,如果您可以管理它,最后一个选项是理想的。)
什么是视图状态及其在 ASP.Net 中的工作原理
Web 应用程序是无状态的。这意味着每次我们向服务器发出请求以获取页面时都会创建一个新的页面实例,并且在往返之后我们的页面会立即丢失。它只是因为一台服务器而发生,网页的所有控件都已创建,并且在往返之后服务器会销毁所有实例。因此,为了保留控件的值,我们使用状态管理技术。
http://www.c-sharpcorner.com/UploadFile/225740/what-is-view-state-and-how-it-works-in-Asp-Net53/