日期:2014-05-19  浏览次数:20482 次

-----------------------------------Form认证,使用Cookie,页面停留过长,button失效,怎么办?
Aspx页面,

页面没有使用Session,使用的是Cookie,验证是用的是Form认证


        public   void   Page_Init(object   sender,EventArgs   e)
{
      connstr=ConfigurationManager.AppSettings[ "ConnectionStr "];
      uid=User.Identity.Name;
     
      UserDetail   currUserDetail=CSSUserDetail.GetUserDetail(uid);
     
      uid=User.Identity.Name;
      uname=currUserDetail.username;
      uemail=currUserDetail.email;
      uywid=currUserDetail.yewukind;
      httpURL= "10.142.60.70 ";
      strSmtpServer= "10.142.60.41 ";
     
      this.OKBtn.Click+=new   System.EventHandler(this.btnHandle);
}

        //===========================================================================================Page_Load   event
        public   void   Page_Load(object   sender,EventArgs   e)
{
    if(Request.Cookies[ "mid "]!=null)
    {
        mid=Request.Cookies[ "mid "].Value;
        caid=GetCurrentAtiveID(mid);
        lbMID.Text= "您目前所处理的工作是 <font   color=blue> 结案 </font> ! <br> 结案编号/流程ID: "+mid+ "/ "+caid.ToString();
        try
        {  
            if(mid==null)
            {
                OKBtn.Enabled=false;
            }
            else
            {
                OKBtn.Enabled=true;
            }
        }
        catch
        {
            Response.Redirect( "../error/temp.htm ");
        }
    }
}

用户在页面输入数据时,如果他在此页面停留很久后(几小时或半天、一天的,因为User在输入数据时,很多数据要去其它系统查找或者突然有事离开几个小时,或外出)再来输入数据,然后点击button保存,此时button的事件就不能执行到,从而数据不能保存到,这样的事对于User来说如果很多数据都要重新来输入一次,可能是非常麻烦的事。

请问,怎样办?

private   void   btnHandle(object   sender,EventArgs   e)
{
            //代码
        }

謝謝!


------解决方案--------------------
<forms
name= ".ASPXAUTH "
loginUrl= "login.aspx "
defaultUrl= "default.aspx "
timeout= "120 "
path= "/ " />