dim intA1 as int16Private Sub Bill_test1_Init(sender As Object, e As EventArgs) Handles Me.Init     
        intA1=10
        If Not Page.IsPostBack Then
            sub1
        End If
    End Sub
private sub sub1
      intA1=intA1+5
end sub
private sub sub2
      intA1=intA1+100
end subProtected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
      sub2
      msgbox(intA1)
    End Sub现在希望点button1 按钮,第一次点击能得到是115,第二次点击215,一直往下加,而不是一直是110
请问这样的变量如何来定义?

解决方案 »

  1.   


    Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
          sub2
          sub1
          msgbox(intA1)
        End Sub
      

  2.   

    首先你要明白一点, 就是 每次你点击按钮, 就是请求服务器这个页面, 这个页面的代码就都从新执行, 所以得到的值都是 110,
    你如果你想保存这个值就需要用到session,Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
          intA1=Session.Item("intA1")
          sub2
          sub1
          Session.Item("intA1")=intA1
          msgbox(Session.Item("intA1"))
        End Sub
      

  3.   

    既然做webfrom,intA1这个变量就不要用变量,用一个页面标签lable来实现,数据类型用的时候转换一下,状态让它自动维护好了。
      

  4.   

    dim static intA1 as int16
    或者用session,application,cache等