猿问

关于ViewState与PostBack

可能是一个比较初级的问题,拿出来跟各位请教一下:

我在一个页面中放置了一个literal控件,一个button。button的click事件中有如下代码

 

protected void Button1_Click(object sender, EventArgs e)

{

  ViewState["Test"]="你好";

}

在该页面的Page_Load函数中访问ViewState

protected void Page_Load(object sender, EventArgs e)

{

  litetal1.Text += ViewState["Test"];

}

 

结果是,每次点击button后,页面完成一次postback,viewstate也会被记录,但页面并不会在第一次postback后马上发生变化,而是当刷新该页面或者再次点击buton,也就是再次postback后才能将上次的Viewstate体现出来。

 

如果一定要实现这样的目的:点击某个按钮,产生一个postback,并在当次postback就访问viewstate或session。那么有什么比较好的办法吗?


素胚勾勒不出你
浏览 593回答 2
2回答

蛊毒传说

protected void Button1_Click(object sender, EventArgs e){  litetal1.Text += ViewState["Test"];} protected void Page_Load(object sender, EventArgs e){ if (!IsPostBack) {  ViewState["Test"]="你好"; }}

郎朗坤

Button1_Click是在Page_Load之后执行的。你上面的例子相当于是先 读了ViewState,然后再改ViewState。
随时随地看视频慕课网APP
我要回答