asp.net 1.1 的页面总是刷新两次,例如我用一个简单的记事本存储我的记数值,每刷新一次总是两个记数?

解决方案 »

  1.   

    如果你在page_load里面设置断点的话,你可以发现总是执行两次,怎么解决啊?
      

  2.   

    寂寞高手.NET哈哈,if(!Ispostback)
      

  3.   

    相同的代码在.net2.0就可以,这个问题n年前也困扰过我,只不过没有跟它较真,今天我特别想干掉它了!
      

  4.   

    记数的方法:
    void countNum()
    {
    if ( File.Exists(  Server.MapPath(".")+"\\count\\count.txt" ) )
    {
    StreamReader sr=File.OpenText( Server.MapPath(".")+"\\count\\count.txt" );
    Application.Lock();
    Application["count"]=sr.ReadLine();

    Application["count"]=Convert.ToInt32( Application["count"] )+1;

    Application.UnLock();
    sr.Close(); try
    {
    StreamWriter rw=File.CreateText( Server.MapPath(".")+"\\count\\count.txt" );
    Application.Lock();
    rw.WriteLine(Application["count"]);
    Application.UnLock();
    rw.Flush(); 
    rw.Close();
    }
    catch{}
    count.Text =Application["count"].ToString();
    }  
    else
    {
    count.Text = "";
    }
    }
    调用:
    private void Page_Load(object sender, System.EventArgs e)
    {
    if(!Page.IsPostBack)
    {
    countNum();
    }
    }
    高手可以在if(!Page.IsPostBack)设置断点看你们那里是不是执行了两次?
      

  5.   

    是否lz把这个函数放到pageload里面了,而且没有判断ispostbak?(ps:没看lz的代码)
      

  6.   

    谢谢大家热心相助,我新建了一个webform.aspx 把代码原原本本的拷贝过去了就只执行了一次,这样问题是解决了,但是我还是没有找出问题所在,我以前在多个项目中遇到这样的问题,都找不出原因来,非常郁闷!
    我把页面中所有的东东都删除了但还是执行两次,并且我也是把该页面的代码原原本本的进行copy到新页面中就可以,所以也排除了是因为第三方控件造成的说法。郁闷郁闷
      

  7.   

    谢谢大家,原因是:把AutoEventWireup="false"去掉了,
    千万注意不要去掉aspx中的AutoEventWireup="false"设置
      

  8.   

    我的2.0在ie下加一次,在ff下加两次