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

首頁 > 開發 > 綜合 > 正文

自定義ViewState的保存方式

2024-07-21 02:29:20
字體:
來源:轉載
供稿:網友

大家都知道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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 驻马店市| 郸城县| 东明县| 台山市| 炉霍县| 铁岭县| 阿拉善右旗| 双辽市| 平定县| 辉县市| 五峰| 宿松县| 华阴市| 大方县| 封丘县| 怀仁县| 黑山县| 开鲁县| 宁强县| 竹山县| 邢台县| 泽州县| 武威市| 龙南县| 汾阳市| 晋中市| 青浦区| 来安县| 南丰县| 太仆寺旗| 十堰市| 靖安县| 滁州市| 石柱| 徐水县| 蕉岭县| 高尔夫| 和龙市| 和田县| 康马县| 宁都县|