Я заполняю datatable на page_load, чтобы использовать его позже.ASP.net - Datatables стать ничто на PostBack
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
Я хочу использовать serviceTable позже Button_Click
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 не относится к объекту. Возможно ли, что datatable опустошается при обратной передаче? Как это исправить?
Ошибка больше не является ** Servicetable не относится к объекту **, но вместо этого теперь на постсоветском языке ** Servicetable.rows.count возвращает 0 ** – HelpASisterOut
Я думаю, что значения не сохраняются между сообщениями обратной связи. .so.you нужно использовать переменные сеанса. –