public partial class GoogleLocation : System.Web.UI.Page
{
        private int qq = 1;        protected void Button1_Click(object sender, EventArgs e)
        {
            qq += 3;
        }        protected void Button2_Click(object sender, EventArgs e)
        {
            qq += 2;
        }为什么按了按钮1或按钮2,qq的值并没有加呢?

解决方案 »

  1.   

    public static int qq = 1;
      

  2.   

    每点一次按钮post一次页面就要重载一次,qq的值就会被重新载入所有点击后qq的初始值依然是1网页内如非必要不要用static来定义变量,因为用static定义之后,在不同的客户机上操作的是同一个变量,也就是说你这里qq+=2之后,qq=3;别人打开这个页面后qq的初始值就是3
      

  3.   

    楼上的解释的太好了,谢谢。
    我就是要达到那个效果。“每点一次按钮post一次页面就要重载一次”这个很讨厌啊,每次重载以后很多东西都没有了这个问题怎么解决呢
      

  4.   

    如果只想在本页面
     
    ViewSate  吧
      

  5.   

    在pageload内放置page.ispostback
    将变量放放viewstate
      

  6.   


    session里面不是只能放字符串吗?我想放一个线程变量
      

  7.   

    三个方法喽用 static 变量(这个不推荐) 
    用 Session  
    用 Cookie 后两种方法都可以达成目标,它们需要在载入时对你已经设置的 cookie 进行检测,从而判断 post 应该是多少值
      

  8.   

    ViewState 是个很棒的选择Session 可以放置任可类型的值
      

  9.   


    public partial class GoogleLocation : System.Web.UI.Page
    {
            static Thread t;        protected void Button1_Click(object sender, EventArgs e)
            {
                t = new Thread(....);
                t.start();
            }        protected void Button2_Click(object sender, EventArgs e)
            {
                t.abort();
            }按了1后,按2 t线程还是没有终止啊 为什么呢