日期:2014-05-20  浏览次数:20964 次

急救啊,怎么让Page_Load只加载一次?
C# code

    if (!IsPostBack)
        {

            string a = "123";
            string b = "123";
            if (a==b)
            {
                //
                this.Label1.Text = "执行方法";
               
            }
            else
            {
                //
                this.Label1.Text = "您的方法已经执行";
            }
        }

第一次的时候,label的值是执行方法,当再次刷新页面的时候,应该是您的方法已经执行

为什么我每次刷新页面都是:执行方法,,,急救啊!



------解决方案--------------------
这样确实是只刷新了一次 ,问题在于,你的大括号 位置不对
 应改为
if (!IsPostBack)
{

string a = "123";
string b = "123";
if (a==b)
{
//
this.Label1.Text = "执行方法";

}

}
else 
if(this.Label1.Text =="执行方法")
this.Label1.Text = "您的方法已经执行";

------解决方案--------------------
是你写的有问题,就如ls那样写就可以判断了
------解决方案--------------------
探讨

C# code


protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{

string a = "123";
string b = "123";
if (a == b)
……

------解决方案--------------------
if(!this.IsPostBack)
{

}
通常用在page_load中,获取一个值,该值指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问,如果是为响应客户端回发而加载该页,则为true;否则为 false。
比如如果你在页面上按了一下按钮,那么在Page_load时,你就会看到isPostBack等于true;如果你的页面是第一次被打开,则返回false;
!this.IsPostBack就是一直取true,把这个页面里面的东西一直当成第一次打开
------解决方案--------------------
探讨
运行页面,刷新页面,一直都是执行方法!为什么。。。。。。。。

------解决方案--------------------
那么再次刷新当然还是IsPostback ==> 那么再次刷新当然还是IsPostback为false
------解决方案--------------------
这个你得把数据放在ViewState里进行比较,局部变量每次页面刷新都更新的