asp.net - ASP.NET Webforms 中的 ViewState 替代方案

标签 asp.net viewstate

还有其他 ViewState 替代方案吗?我听说过很多 Like Session,它持有一些页面控件的状态,并在用户离开页面的那一刻被销毁。

我知道我在描述 ViewState 本身,但我正在寻找一种排序或建议的模式,这样我就可以完全避免 ViewState。

我如何使用它的一个例子是我将我的网格(ViewModel 列表)的内容存储到 ViewState。这有助于了解哪些条目是脏的、哪些条目已被修改、它们的索引、当前选择的对象等。

最佳答案

我的一位同事开发了一种将 View 状态数据存储在文件中的方法。因此,客户端和服务器之间不会传输大量 View 状态数据。仅代表 View 状态数据文件的键(即 View 状态数据文件)作为 session 变量保存。在我们的测试中,我们发现将 View 状态保存在文件中通过减少 View 状态的数量(当时非常庞大)来减少服务器响应时间。

在此 article在“Keeping View State on the Server”下,您可以了解如何实现该方法。您甚至可以将 View 状态数据存储在数据库表中,如果您的应用程序位于 Web 场中,这将提供额外的灵活性。

关于asp.net - ASP.NET Webforms 中的 ViewState 替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3733542/

相关文章:

c# - 获取发布值 (ASP.NET)

c# - DataBind 后 GridView 丢失 ViewState "SortExpression"

asp.net 日期选择器

c# - 模型中的表单值在发布后未在 View 中更新

asp.net - 显示环绕图像的动态内容

html - 图片无法在移动浏览器中加载(抛出 500 错误)

c# - Request.IsAuthenticated 如何工作?

asp.net - 使用 ASP.NET AJAX/ICallbackEventHandler 跟踪状态

WPF/Silverlight状态-是否从XAML激活?

asp.net - "Validation of viewstate MAC failed"与 Kentico 7.0 和 IIS 7.5