将 ViewState 移动到页面底部的最新、最好的方法是什么
这可以在 IHttpHandler 中完成吗?可以在 web.config 中指定该 IHttpHandler 来拦截对“*.aspx”的请求?
<httpHandlers>
<add verb="*" path="*.aspx" type="MyApp.OptimizedPageHandler" />
<httpHandlers>
其他选项是,这可以在 IHttpModule 中完成,但这性能不高,因为它将拦截所有请求。
也可以在从 Page 或 MasterPage 类派生的类中完成,但这不是模块化的。
这会导致性能损失吗?
最佳答案
您可以通过创建 PageStatePersister
类的自定义实现来控制 ViewState 数据的加载和保存方式以及位置。然后为所有 ASPX
页面创建一个基类,并重写 PageStatePersister
方法以返回您的自定义实现。然后,可以根据您的要求利用您想要存储 View 状态的任何页面事件。
我怀疑这是否值得。您是否在 ViewState
中不必要地存储了大量数据?也许您可以通过减少使用 ViewState
或针对某些控件将其关闭而不是仅仅将其移动到 HTML 页面中的其他位置来更轻松地获得更多好处。
关于ASP.NET:将 ViewState 移动到页面底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2380124/