大家帮忙看看
public string strImageName;
protected void Button1_Click(object sender, EventArgs e)
{
strImageName = "aa";
}
protected void Button2_Click(object sender, EventArgs e)
{
Response.Write(strImageName);
}Button2_Click输出不了strImageName的值。 是不是这种技术要把值给一个hidden 然后再输出hidden的值
public string strImageName;
protected void Button1_Click(object sender, EventArgs e)
{
strImageName = "aa";
}
protected void Button2_Click(object sender, EventArgs e)
{
Response.Write(strImageName);
}Button2_Click输出不了strImageName的值。 是不是这种技术要把值给一个hidden 然后再输出hidden的值
但你要知道页面的生命周期。
你在点击2号按钮的时候。strImageName已经被重置为""空串了,所以你都输出空串
{
get{return ViewState["xx"] as string;}
set{ViewState["xx"]=value;}
}
代码中: Button1_Click事件中给 strImageName 赋值之后,
页面刷新了。 那么在Button2_Click事件中,strImageName会重新声明并重新赋值为默认值""
输出来就成了"".
webform的编程模型与winform不同,在webform中每次刷新页面都产生一个新的页面实例,所以客户端与服务端交互用到的状态信息是需要介质保存的,比如session、viewstate、cookie以及页面控件等。
帖子不错
楼主可以借此了解到ASP.NET的状态机制
protected void Button1_Click(object sender, EventArgs e)
{
strImageName = "aa";
}
protected void Button2_Click(object sender, EventArgs e)
{
Response.Write(strImageName);
}
搞成静态的