日期:2014-05-17  浏览次数:20784 次

居然遇到一个asp.net无法解释的问题。大侠请入

我记得Page_Load中的代码在每次提交页面或刷新页面的时候都会执行,但现在我感到有点不明白,像下面这两段部分代码:

private void Page_Load(object sender, System.EventArgs e)
{
    Label1.Text+="ok!";
}

private void Button1_Click(object sender, System.EventArgs e)
{
   
}

?我每次点Button1提交,那么Label1上的字符串都会加上一个"ok",这没有问题,但问题是为什么我每次点刷新后,页面就不会加上"ok"呢?我觉得既然每次刷新都要执行Page_Load,那就应该在后面再加个"ok"才对呀,请大伙帮忙解释一下~~

1 楼 m1a0 2011-09-16  
Label1.Text+="ok!";

这个写在 Button1_Click事件里就行了。

如果想只在页面第一次加载的时候执行的话

private void Page_Load(object sender, System.EventArgs e) 

    if(!IsPostBack)
    {
        Label1.Text+="ok!"; 
    }
}
2 楼 mycybyb 2011-09-16  
因为ASP.Net会记录页面状态,所以每次点Button提交,都会再加一个ok。但是,当你F5刷新的时候,是没有状态数据的