protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            a1 += 1;
        }
    }
    public static int a1=0;
页面代码 <% =a1%>
问:1,第一次值为1 为什么刷新页面值会增加?
2,我在(!ispostback)中给Page.title 赋值 怎么在点击页面按钮时确保 page.title的值存在 有没有好的解决方法?

解决方案 »

  1.   

    1.刷新不是回发,所有a1的值会增加
    2.在(!ispostback)里面给Page.title赋值,点击按钮时属于回发,Page.title的值会存在
      

  2.   

    只在(!ispostback)也就是回发中才加1 为什么刷新时会增加呢?
      

  3.   

    ispostback是回发,!ispostback就是非回发
      

  4.   

    static 是静态的 也就是所有该类的对象都共用这个变量 并且是一直保存在内存中 不会被释放的...你可以开多几个页面刷刷看
      

  5.   

    Ispostback是回传,!Ispostback是不回传
      

  6.   

    也许我表达的不太清楚
    1,!ispostback是首次加载,当首次加载时i才加1 页面刷新页面后,页面又是首次加载了么?
    2.    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Page.Title = "测试数据库";
            }
        }
        protected void Button1_Click(object sender, EventArgs e)
        {    }
    经测试点击按钮页面title就会显示为"无标题页",有没有好的解决方法?
      

  7.   

    protected void Page_Load(object sender, EventArgs e)
        {
               Page.Title = "测试数据库";
        }
        protected void Button1_Click(object sender, EventArgs e)
        {    }
    应该要这样,每次加载的时候都有title了
      

  8.   

    问题一  你要搞明白 两点   第一  !IsPostBack 表示的是 不是回发的  意思就是 不是点按钮提交时 进来的    你的刷选 每次当然会走 !IsPostBack     第二  你的是静态的成员 内存开辟一个空间 一直存在 除非页面销毁  你每次刷选 都不会重新实例化这个 变量  所以才会一直加一    如果你换成不是静态的 则不会加一了  
      

  9.   

    如果你是进入页面   然后一直点刷新 那么每次都会走 
    if (!IsPostBack)
      {
          
      }
    这里的方法 如果你是  进页面  点击按钮后  再刷新  则不会走
    if (!IsPostBack)
      {
          
      }
    这里的方法了