首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

页面回送之后页面变量被重置了,请教怎么处理

2013-02-03 
页面回送之后页面变量被重置了,请问怎么办页面由两个Label和两个Button,还有一个页面类的private变量a。在

页面回送之后页面变量被重置了,请问怎么办
页面由两个Label和两个Button,还有一个页面类的private变量a。在点击Button1时,Label显示1,且给a赋1。在点击Button2时,Label2显示a的内容。

请问为什么此时a的内容为空,而Label1.Text内容依然为1?如果要在回送之后依然保持a的变量值,应该怎么办? button 回送
[解决办法]
变量被重置是因为你点击button的时候回发,重新执行一遍程序,变量又回到了初始值。
Label1的内容是靠ViewState来维护的,回发之后程序把ViewState中存储的控件值又恢复到控件了。

把Label1的ViewState禁用,你试试还会是1吗?


    private string a;
    protected void Page_Load(object sender, EventArgs e)
    {
        Label1.EnableViewState = false;
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        Label1.Text = "1";
        a = "1";
    }

    protected void Button2_Click(object sender, EventArgs e)
    {
        Label2.Text = a;
    }

[解决办法]





 protected void Button1_Click(object sender, EventArgs e)     

ViewState["_a"]= (ViewState["_a"]==null?1:int.Pase(ViewState["_a"].ToString())) +1;      
Label1.Text = ViewState["_a"].ToString();         






热点排行