2013-02-21 51 views
1
Public Class index 
Inherits System.Web.UI.Page 
Dim arr(9) As Integer 

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load 
arr(0) = 23 
End Sub 

Protected Sub bntInsert_Click(ByVal sender As Object, ByVal e As EventArgs) Handles bntInsert.Click 
arr(0) = 999 
End Sub 

Protected Sub bntShow_Click(ByVal sender As Object, ByVal e As EventArgs) Handles bntShow.Click 
txtid.Text = arr(0).ToString 
End Sub 
End Class 

结果是,当我点击bntInsert并且在bntShow之后仍然在txtid中显示值“23”。请帮帮我!如何在运行时在asp.net中为公共变量赋值?

回答

0

1:asp.net是无状态的。 2:检查回传事件吗?

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load 
if page.isPostBack then 
arr(0) = 23 
end if 
End Sub 
+0

哦,它的工作表示感谢! Laird Streak – Socheata 2014-02-05 04:15:31

0

这是因为每个按钮点击最终都会首先调用page_load。我想你正在尝试使用公共变量来保留这些值,但是你需要明白某个特定的变量只对特定的请求有效。随后的每个请求都会丢失该变量,包括按钮点击(这是后期回复)。

您可能希望将arr保留在会话变量中以在往返之间保存其值。

+0

感谢您的评论Apurv Gupta! – Socheata 2014-02-05 04:16:23