国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

自定義ViewState的保存方式

2019-11-18 17:18:31
字體:
來源:轉載
供稿:網友

大家都知道asp.net中使用ViewState來在客戶端與服務端之間保存頁面中的信息及用戶自定義的信息.
在2.0之前的版本中,ViewState是保存在頁面中的隱藏控件中的:__VIEWSTATE
我們無法改變ViewState的保存方式及保存位置.
現在在2.0中,Asp.Net開放了這個功能,允許我自定義ViewState的保存位置.
在2.0的Page類中新增了一個屬性:PageStatePersister.
我們可以重寫這個屬性來實現自定義ViewState的保存.這個屬性要返回一個繼承自PageStatePersister類的子類的一個實例.
2.0中默認提供了兩種保存方法:一個是保存在頁面中(HiddenFieldPageStatePersister ),另外一個是保存在session中(SessionPageStatePersister ).
下面的代碼重寫了PageStatePersister屬性,將ViewState保存到Session中:

    PRotected override PageStatePersister PageStatePersister
    {
        get
        {
            return new SessionPageStatePersister(this);
        }
    }
除了這兩種默認的保存方式外,我們可以繼承PageStatePersister類,來實現自己的保存方式.
以下的代碼演示了如果將ViewState保存到文件中:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;


/**//// <summary>
/// CWingViewState 的摘要說明
/// </summary>
public class CWingViewState : PageStatePersister
{
    public CWingViewState(Page page):base(page)
    {
    }

    public override void Load()
    {
        ReadFile();
    }

    public override void Save()
    {
        WriteFile();
    }

    private void WriteFile()
    {
        FileStream file = File.Create(@"C:/CustomerViewState.CW");
        BinaryFormatter bf = new BinaryFormatter();
        bf.Serialize(file, base.ViewState);
        file.Flush();
        file.Close();
    }

    private void ReadFile()
    {
        FileStream file = File.OpenRead(@"C:/CustomerViewState.CW");
        BinaryFormatter bf = new BinaryFormatter();
        base.ViewState = bf.Deserialize(file);
    }
}

具體的頁面中:
    protected override PageStatePersister PageStatePersister
    {
        get
        {
            return new CWingViewState(this);
        }
    }


出處:.Net空間 BLOG


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宣城市| 共和县| 凤凰县| 延吉市| 安西县| 新宁县| 井研县| 香港 | 赤壁市| 涟水县| 沐川县| 城固县| 汤原县| 集安市| 乌拉特前旗| 鄱阳县| 南昌县| 洛川县| 常宁市| 宜兰县| 宁夏| 阿克苏市| 麻城市| 陕西省| 泰安市| 资源县| 霸州市| 乳山市| 北海市| 惠州市| 崇阳县| 义马市| 黑河市| 北京市| 商洛市| 个旧市| 城市| 苗栗县| 乌鲁木齐市| 赤壁市| 闽清县|