ASP.NET:将 ViewState 移动到页面底部

标签 asp.net viewstate webforms

将 ViewState 移动到页面底部的最新、最好的方法是什么

这可以在 IHttpHandler 中完成吗?可以在 web.config 中指定该 IHttpHandler 来拦截对“*.aspx”的请求?

<httpHandlers>
    <add verb="*" path="*.aspx" type="MyApp.OptimizedPageHandler" />
<httpHandlers>

其他选项是,这可以在 IHttpModule 中完成,但这性能不高,因为它将拦截所有请求。

也可以在从 PageMasterPage 类派生的类中完成,但这不是模块化的

这会导致性能损失吗?

最佳答案

您可以通过创建 PageStatePersister 类的自定义实现来控制 ViewState 数据的加载和保存方式以及位置。然后为所有 ASPX 页面创建一个基类,并重写 PageStatePersister 方法以返回您的自定义实现。然后,可以根据您的要求利用您想要存储 View 状态的任何页面事件。

我怀疑这是否值得。您是否在 ViewState 中不必要地存储了大量数据?也许您可以通过减少使用 ViewState 或针对某些控件将其关闭而不是仅仅将其移动到 HTML 页面中的其他位置来更轻松地获得更多好处。

关于ASP.NET:将 ViewState 移动到页面底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2380124/

相关文章:

c# - 数据库中没有发生数据插入

c# - ASP.net Identity Framework - 重新发送确认电子邮件

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

asp.net - 使用复选框列表切换 div 可见性

c# - 页面更改时的 asp.net 免费 session 变量

javascript - 如何检查是否选择了单选按钮之一?

c# - 德国文化中的 XML 解析问题 - ASP.NET

asp.net - 请求 wsTestService.asmx/jsdebug 在服务器上返回 500 错误,在开发中很好

asp.net - 当 ASP.NET 验证失败时更改文本框的 css 类

ASP.NET MVC 3 RenderPartial/Razor 和 iframe