• Kaneboy.Web.ViewState使用说明


    Kaneboy.Web.ViewState使用说明

    (一)概述

    Kaneboy.Web.ViewState提供了以多种方式保存ViewState的能力。ASP.NET引擎默认是将ViewState作为页面上一个Hidden Field保存到页面上,但使用Kaneboy.Web.ViewState,我们可以改变ViewState的保存方式。

    (二)使用步骤说明:

    1、将Kaneboy.Web.ViewState的所有三个dll文件拷贝到正确的Web程序的/bin目录中。

    2、修改web.config,在其中增加如下所示的配置节:

    <configuration>

     <configSections>
      <section name="viewStateManagement" type="Kaneboy.Web.ViewState.ViewStateManagementConfig, Kaneboy.Web.ViewState" />
     </configSections>
     
     <viewStateManagement>
      <handler mode="on" type="Kaneboy.Web.ViewState.SessionViewStateHandler, Kaneboy.Web.ViewState" />
     </viewStateManagement>

    </configuration>

    其中<viewStateManagement>节点下的<Handler>节点用来指示使用哪种方式来保存ViewState,以及是否启用自定制的ViewState保存方式。

    3、接管页面上默认的ViewState保存方式。你可以选择下面的两种方法之一:

    (1)将要改变ViewState保存方式的页面的父类从默认的System.Web.UI.Page改为Kaneboy.Web.ViewState.ViewStatePageBase。

    通常一个好的Web程序设计会让系统中所有的页面继承自一个自定义公共基页面类(而不是继承自默认的System.Web.UI.Page),以实现某些自定制的功能(比如所有页面错误的捕捉等等),如果有这样的设计,那么您只需要将这个自定义的公共基页面类继承自Kaneboy.Web.ViewState.ViewStatePageBase即可。

    (2)在页面的代码中,override下面所示的两个方法:

    protected override void SavePageStateToPersistenceMedium(object viewState)
    {
     Kaneboy.Web.ViewState.ViewStateManagement.SaveViewState(this, viewState);
    }

    protected override object LoadPageStateFromPersistenceMedium()
    {
     return Kaneboy.Web.ViewState.ViewStateManagement.LoadViewState(this);
    }

    (三)可以使用的ViewState保存方式

    在上面提到的配置文件中<viewStateManagement>节点下的<Handler>节点的type属性用来指定使用哪种方法来保存ViewState,可以选择的方法包括:

    (1) type="Kaneboy.Web.ViewState.CompressedHiddenFieldViewStateHandler, Kaneboy.Web.ViewState"

    将ViewState压缩后保存到页面的一个Hidden Field中。

    (2) type="Kaneboy.Web.ViewState.SessionViewStateHandler, Kaneboy.Web.ViewState"

    将ViewState保存在服务器的Session中。

    (3) type="Kaneboy.Web.ViewState.AspNet1_1ViewStateHandler, Kaneboy.Web.ViewState"

    系统默认的ViewState保存方式,即将ViewState保存在一个名字为“__VIEWSTATE”的Hidden Field中。不推荐使用这个方法。

    (四)如何扩展自定制的ViewState保存方法

    通过继承Kaneboy.Web.ViewState.ViewStateHandlerBase,并重写其SaveViewState和LoadViewState方法即可,这两个方法分别用来保存ViewState和载入ViewState。

  • 相关阅读:
    s2-032批量脚本
    javascript 1
    threading模块和queue模块实现程序并发功能和消息队列
    Python标准库06 子进程 (subprocess包)
    常用服务对应的正则
    re
    requests
    198. 打家劫舍
    746. 使用最小花费爬楼梯
    70. 爬楼梯
  • 原文地址:https://www.cnblogs.com/kaneboy/p/2436789.html
Copyright © 2020-2023  润新知