返回首页
当前位置: 主页 > 网络编程 > .Net实例教程 >

如何记录页面操作状态

时间:2018-11-08 20:50来源:知行网www.zhixing123.cn 编辑:麦田守望者

在项目中,很多时候我们需要知道作业现在的操作状态,比如是作业现在是处于新增状态,还是修改状态,或者是审核状态,以下是本人在项目中的一点小经验。

所有的作业都会也应该继承同一个顶级基类,不同当前作业是不是直接继承顶级基类,反正应该是基类派生而来。

现在我们所要作的操作状态,就可以在基类中完成。

在基类中新建一个页面状态的属性,如下:
 

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# 如何记录页面操作状态
------分隔线----------------------------
推荐内容
猜你感兴趣