日期:2009-11-24  浏览次数:20424 次

前言
今天是,我新工作的第二天,终于回到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();

}
也许有更好的方法,但是我还没有想太好。暂时先这样用吧。