すべてで関数を呼び出すMe.Load
と問題ありませんが、ボタンクリックイベントでのみ関数をトリガーすると、内部のすべての変数が設定値を失います。VB.NET を使い始めたばかりなので、ここでスコープの性質を完全には理解していません。
これが私のコードです:
Public Class WorkflowForward
Inherits FileBound.Web.FBBasePage
' Private decalrations
Private cfile_id As String = "" ' Current files ID
Private FBProject As Project = Nothing ' FileBound Project object
Private cmd As String = "" ' SQL query string
Private FBFile As FileBound.File = Nothing ' Filebound file holder
Private FBRoutes As RouteCollection = Nothing ' FileBound route collection holder
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
' Set SqlDataSource connection string
FBSqlDataSource.ConnectionString = ConfigurationManager.ConnectionStrings("FB_0371tcc").ConnectionString
If Not Me.IsPostBack Then
' Set values to variables
Page_setup() ' Here I set values to variabels
setRoute_debug("Admin1 Test")
End If
End Sub
Protected Sub sendEmail_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles sendEmail.Click
' CAN I HAZ SOME TEST????
'setRoute_debug(emailTo.SelectedValue.ToString)
Response.Write("<script>" & Me.FBRoutes.TotalCount.ToString & "</script>")
End Sub
Private Sub setRoute_debug(ByVal route_to As String)
' IF WE HAZ SOME ITEMS FINISH THEM MUHUHAHHAHAHA
If FBBusiness.LoggedInUser.RoutedItems.TotalCount > 0 Then
For Each item As RoutedItem In FBBusiness.LoggedInUser.RoutedItems
item.Complete("Completed!")
Next
End If
' DEBUG MODE #YOLO
' I'VE DONE IT I CAN HAZ ROUTEZ
For Each r As Route In Me.FBRoutes
If r.Name = route_to Then
For Each doc As FileBound.Document In FBFile.Documents
doc.Route(r.ID)
Next
End If
Next
End Sub
Private Sub Page_setup()
' Some code that sets values
End Sub
End Class
ボタンをクリックすると、次のエラーがスローされます。
Object reference not set to an instance of an object.
Line 46: Response.Write("<script>" & Me.FBRoutes.TotalCount.ToString & "</script>")