本帖最后由 xiaolingwei 于 2011-02-23 17:13:28 编辑

解决方案 »

  1.   


     protected void Page_Load(object sender, EventArgs e)
      {
        if(!ispostback)
      if (Request.QueryString["roleid"] != null && Request.QueryString["roleid"] != "")
      {
      string u_qx = "";
      int roleid = int.Parse(Request.QueryString["roleid"]);
      // cngeReader dr = new cngeReader("SELECT * FROM nt_roles where id=" + roleid + " ");
      Cngecheck ck = new Cngecheck();
      DataTable dt= ck.chektable("nt_roles", " where id="+roleid);
      if(dt.Rows.Count>0)
      {
      zwm.Text = dt.Rows[0]["rolename"].ToString();
      u_qx = dt.Rows[0]["rights"].ToString();
      if (dt.Rows[0]["issuper"].ToString() == "1")  
      {
      this.issuper.Checked = true;
      }
      }
        
      classid.Value = roleid.ToString();
      listqx.InnerHtml = showlist(u_qx);  }
        }
      }
    在页面pageload里面增加 ispostback判断
      

  2.   

    这个在Page_Load方法的入口加一个断点看看,不就知道怎么的了吗?
      

  3.   

    就是 第二次 根本不进去啊 ,二# 的那个  我加了 这个 if(!ispostback)  还是不行啊
      

  4.   

     onClick=\"MM_openBrWindow('../role/role_edit.aspx?roleid=" + Ds.Rows[k]["id"] + "&classid="+classid+"',   给这句在增加一个参数  时间戳,,
    增加一个当前时间的参数,,
    我估计是系统进入这个页面的时候读取缓存了 
      

  5.   

    如果是AJAX,则可能是AJAX缓存了结果,第二次没有请求页面而直接返回了缓存的结果
      

  6.   

    不是 ajax 就是重新打开一个窗口