• <acronym id="danlv"><form id="danlv"></form></acronym>
  • <dd id="danlv"><rt id="danlv"></rt></dd>
      <var id="danlv"><rt id="danlv"><big id="danlv"></big></rt></var>
      1. <code id="danlv"><ol id="danlv"></ol></code>
        <var id="danlv"><rt id="danlv"></rt></var>
          1. <code id="danlv"></code>
            返回首頁
            當前位置: 主頁 > 網絡編程 > .Net實例教程 >

            如何記錄頁面操作狀態

            時間:2018-11-08 20:50來源:知行網www.n1979.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# 如何記錄頁面操作狀態
            ------分隔線----------------------------
            推薦內容
            猜你感興趣
            日韩在线av免费视久久