Asp.net多页面间保留状态

类别:Asp 点击:0 评论:0 推荐:
前言
今天是,我新工作的第二天,终于回到Csdn上,在自己的Blog上写上第一篇文章。
不记得自己有几个Blog了,今天开始决定,在这里记录下,我以后的日子与生活吧。
Asp.net多页面间保留状态
只记得Asp.net页面内的状态是由Viewstate来保存的。我想页面间是不是也可以借用Viewstate。
微软说,Viewstate只是相对于单页面来说的,并且,我还发现了,有好多的工作可以反编辑
页面内的Viewstate。因为它是用Base64编码的。当然也可以对它加密。既然,它不能满足多页面
间保留状态问题,那就不用它了。
用Session是不是能解决呢:
我简单试了一下,因为页面的控件还不是太多,刚好10个,我罗列了他们的Session值。然后在
Page_Load里初始化它的状态。如下:这样就可以了。
private void Page_Load(object sender, System.EventArgs e)
  {
   
   if (!IsPostBack)
   {
    //
    if (Session["deal_page"]!=null)
    {//这里是从其它页传过来的
     if (Session["deal_page"].Equals ("deal_page"))
     {
      init_Form();
     }
    }
    
    Bind_DragGrid();
   }
  }
  private void init_Form()
  {
   
   txtCompanyname.Text = Session["seComp"].ToString();
   txtRsrvman.Text = Session["seRsrv"].ToString();
   txtPhone.Text = Session["sePhon"].ToString();
   txtSaleManger.Text = Session["seSale"].ToString();
   txtCRONum.Text = Session["seCron"].ToString();
   txtGrpgstname.Text = Session["seGrpg"].ToString();
   txtSdate.Text = Session["seSdate"].ToString();
   txtEdate.Text = Session["seEdate"].ToString();
   txtDptSdate.Text = Session["seDpts"].ToString();
   txtDptEdate.Text = Session["seDpte"].ToString();
   
  }
也许有更好的方法,但是我还没有想太好。暂时先这样用吧。

本文地址:http://com.8s8s.com/it/it8397.htm