<asp:Button ID="addmore" runat="server" Text="加" onclick="addmore_Click" />
int fileID = 2;
        protected void addmore_Click(object sender, EventArgs e)
        {
           fileID++;
        }怎么老显示2啊,如何显示3啊

解决方案 »

  1.   

        public int fileID
        {
            get { return (ViewState["flid"] == null) ? 2 : Convert.ToInt32(ViewState["flid"].ToString()); }
            set { ViewState["flid"] = value; }
        }
            protected void addmore_Click(object sender, EventArgs e)
            {
               fileID++;
            }
    用viewstate来定义变量就可以保存状态了,因为按钮点击后页面回发,导致你上面代码中的fileID被重新赋值。
      

  2.   


    楼主啊,先说说,生存周期吧。浏览器向服务器请求页面,服务器生成结果fileID++是2,返回页面,然后会话结束了。你看到2了会话结束了,服务器和你没有任何关系了!!!!!!!!!!!!1当你再请求时,服务器生成结果fileID++还是是2,返回页面,然后会话又结束了。你又看到2了
    会话结束了
      

  3.   

    简单的来说,你页面在浏览器中打开了是HTML的。
    而你的按钮呢 是提交按钮  所以,当你点击按钮之后,就将表单提交了 。
      

  4.   

    asp.net的变量是没有缓存的(不像Winform有一个地址来缓存),页面回传后就重新读取初始值了。保存变量的状态,可以用WiewState,Session,Cache,Cookie,Application以及静态变量(Static修饰)等来保存,看你这个变量的使用范围。
      

  5.   

     点击按钮发生回传事件 fileID 初始值始终是2  . 
             int fileID = 2;
            protected void addmore_Click(object sender, EventArgs e)
            {
                if (ViewState["FileID"] != null) 
                {
                    fileID =Convert.ToInt32( ViewState["FileID"].ToString());
                } 
                 fileID++;
                 ViewState["FileID"] = fileID.ToString();        }
      

  6.   

    asp 控件 会postback