2013-02-21 48 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