Asp.net中用VB是否能够实现一个这样的全局变量, 在用户没按下一次某个Button后就自动加一.Dim g_Int As IntegerSub Page_Load( Src as Object, E as EventArgs )
If Not IsPostBack Then
g_Int = 3
End If
lbl_ToolTip.Text = g_Int.ToString()
End SubSub OnButton( Sender As Object, E As EventArgs )
g_Int += 1
lbl_ToolTip.Text = g_Int.ToString()
End Sub但是我发现这样并不能实现自动加1的效果, 每次load的时候,不管是否第一次Load, g_Int一开始都会被初始化为0, 也就是说以前的值没有保留.
请问怎样才能够实现我说的效果呢, 保留全局变量的值, 不要一按下一个button就初始化? 我上面举的一个Integer只是一个例子而已, 我实际想保留的是一个全局的DataTable

解决方案 »

  1.   

    这样做是错误的,可以参考msdn中的这篇文章
    ms-help://MS.MSDNQTR.2003FEB.2052/vbcon/html/vbconChoosingServerStateOption.htm
      

  2.   

    用viewstate,或者是一个不可见的标签来保留值!
      

  3.   

    我只是想为每一个会话保留一个DataTable而已.
      

  4.   

    没有高手吗?
    如果要保留在数据库中,那么表应该如何命名呢? 如果是用时间作为seed随机出来的表名, 两个同时上来的会话的表名就会冲突
      

  5.   

    private void Button1_Click(object sender, System.EventArgs e)
    {
      Application["Count"]=((int)Application["Count"])+1;
    }
      

  6.   

    用shared型变量或用ViewState保存变量状态.
      

  7.   

    保留每次传送的状态无非 SESSION APPLICTION VIEWSTATE 或则 以前ASP中常用的隐藏控件
      

  8.   

    这样,在pageload里。
    If Not IsPostBack Then
    g_Int = 3
                      ViewState("Counter") = g_Int
    End If响应函数里:
    Sub OnButton( Sender As Object, E As EventArgs )
             g_Int = ViewState("Counter")
    g_Int += 1
             ViewState("Counter") = g_Int
             lbl_ToolTip.Text = g_Int.ToString()
    End Sub
    不太熟悉VB.NET的语法。不过这个意思是对的。可能需要一些类型转换,存储在viewstate里的类型是string,要和int型互换。
      

  9.   

    我要保留的是一个表, 不是int, Session, viewstate都不行
    我要保留的是一个表, 不是int, Session, viewstate都不行
    我要保留的是一个表, 不是int, Session, viewstate都不行
    我要保留的是一个表, 不是int, Session, viewstate都不行
    我要保留的是一个表, 不是int, Session, viewstate都不行
    我要保留的是一个表, 不是int, Session, viewstate都不行
    我要保留的是一个表, 不是int, Session, viewstate都不行
    我要保留的是一个表, 不是int, Session, viewstate都不行
      

  10.   

    Application["Count"]是object类型,存什么都行。Application["Count"]=DataTable1;DataTable dt=(DataTable) Application["Count"];  //强制转化下就行
      

  11.   

    如果各会话独立的话就保存在session中,web是无状态的,你可以想想一下你定义的变量如果不保存在服务器断(session)和客户端(cookie)或者页面(viewstate)还能保存在哪里?
      

  12.   

    概念错误! C#&VB.net中没有全局变量的概念只有类变量, 而且你点按钮的时候窗口要提交一次, 提交后变量又被初始化了
      

  13.   

    Table不好用,要保存就直接用DataSet。
    将DataSet放在Application或Session中!虽然说Application中放啥都可以,但有些东东还是不放的好