前言
今天是,我新工作的第二天,终于回到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();
}
也许有更好的方法,但是我还没有想太好。暂时先这样用吧。