0

後で使用するために、 page_loadでデータテーブルを埋めています。

Public serviceTable as Datatable

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If IsPostBack = False Then
                GetData()
            End If
End Sub


Private Sub getData()
        Dim cmd As SqlCommand
        Dim ds As New DataSet
        Dim da As SqlDataAdapter
        Try
            cmd = New SqlCommand(("dbo.getListofServices"), cn)
            cmd.CommandType = CommandType.StoredProcedure
            da = New SqlDataAdapter(cmd)
            da.Fill(ds)
            ServiceTable = ds.Tables(0)
        Catch ex As SqlClient.SqlException
            MsgBox(ex.ToString)
        Catch ex As Exception
            MsgBox(ex.ToString)
        Finally
            If (IsNothing(da) = False) Then da.Dispose()
            If (IsNothing(cmd) = False) Then cmd.Dispose()
        End Try
End Sub

後で Button_Click で serviceTable を使用したい

Protected Sub btnView_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnView.Click

    Try
                If ServiceTable.Rows.Count = 0 Then Exit Sub
                Repeater1.DataSource = ServiceTable
                Repeater1.DataBind()

            Catch ex As Exception
                MsgBox(ex.ToString)
            End Try
    End Sub

ServiceTable がオブジェクトを参照していないというエラーが表示されます。 ポストバック時にデータテーブルが空になる可能性はありますか? これを修正する方法は?

4

1 に答える 1