because  
Private constj As Integer=0
always reset the value to 0tryPrivate Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click        if ViewState("Myvalue") is nothing then
             ViewState("Myvalue") = 0
        end if        constj = CType(ViewState("Myvalue"),Integer) + 1
        ViewState("Myvalue") = constj        Me.Label1.Text = constj.ToString()
        End Sub

解决方案 »

  1.   

    网页在每次按button提交时,都会重新刷新页面,当然,每次 constj又恢复为0,然后又加1,
    那么,Label1.Text显示的就总是 1 ;
    你可以使用Session["constj"](或application)来存放全局变量,
    if Session["constj"]=NULL
    then Session["constj"]=0
    else Session["constj"]=(int)Session["constj"]+1;
      

  2.   

    当然,也可以使用ViewState来存储变量。
      

  3.   

    如果是在网页程序里用if(!IsPostBack) 搞定:)
      

  4.   

    因为你定义的这个变量是动态变量,只要在声明的时候在前面加个static表示它是静态的就可以了。但一般网络操作,严禁用静态变量,原因是静态类成员是通过类名来访问的,而不是通过对象来访问的,所以不同的用户在操作同一个页面时会产生影响,很多情况下会造成不可弥补的损失。因此,你如果需要保留这个值便于下次调用的话,可以把这个值先保留下来,保留的方式很多,楼上的ViewState是一种方法,你还可以用Session,还可以用Cache
      

  5.   

    同意思歸的做法.
    因為的變量每次補刷新.就還原了.可用viewstate存下來.
      

  6.   

    最好用viewstate来做,做法上面的朋友都说得很清楚了
      

  7.   

    用ViewState 或 Session 来保存。/
      

  8.   

    谢谢大家!!ASP.net我刚起步学,希望大家多多帮我一下:)
      

  9.   

    我试过了用static定义变量不行。除了用session来保存。我还有一个办法,就是用一个label控件的text属性来存放值。并且把控件设为不可见。label控件的text属性也不会随刷新网页而消失。