返回首頁
當前位置: 主頁 > 網絡編程 > .Net實例教程 >

如何記錄頁面操作狀態

時間:2018-11-08 20:50來源:知行網www.f1globe.com 編輯:麥田守望者

在項目中,很多時候我們需要知道作業現在的操作狀態,比如是作業現在是處于新增狀態,還是修改狀態,或者是審核狀態,以下是本人在項目中的一點小經驗。

所有的作業都會也應該繼承同一個頂級基類,不同當前作業是不是直接繼承頂級基類,反正應該是基類派生而來。

現在我們所要作的操作狀態,就可以在基類中完成。

在基類中新建一個頁面狀態的屬性,如下:
 

protected FormeState FormOperateState
{
    get
    {
        object o = ViewState["FormOperateState"];
        if (o == null)
        {
            ViewState["FormOperateState"] = FormeState.Add;
        }

        return ViewState["FormOperateState"] as FormeState;
    }
    set { ViewState["FormOperateState"] = value; }
}


其中FormeState為頁面狀態的枚舉:
 

public enum FormeState
{
    Add,
    Modify
}


在基類的IsPostBack中獲取Url中參數FormOperateState的值,這需要我們在Url參數中傳遞正確的FormOperateState值,比如用戶是點擊新增進入到該作業的,FormOperateState=Add,如果是點擊修改進入到該作業的,那么FormOperateState=Modify
 

if (IsPostBack)
{
    if (!String.IsNullOrEmpty(Request.QueryString["FormOperateState"]))
    {
        FormOperateState = Enum.Parse(typeof(FormeState), Request.QueryString["FormOperateState"], true);
    }
}


這樣子我們就可以在頁面加載時初始化作業狀態了。
因為我們使用了ViewState存儲,所以在作業的任何時候都可以很方便的更改操作狀態。比如Url中參數FormOperateState的值傳進來的Add狀態,但我們新增作業并保存后,就需要將操作更改為Modify狀態了,那么在保存方法后緊跟FormOperateState=FormeState.Modify就OK了。

以上代碼只是表現本人的思路,并未經過測試。具體使用中,則需要自己細細的調試了。"

------分隔線----------------------------
標簽(Tag):C# 如何記錄頁面操作狀態
------分隔線----------------------------
推薦內容
猜你感興趣
99久久免费高清热精品