Oye amigo si te refires a un objeto System.Data.DataTable y no a una tabla html la puedes conservar los valores de la misma de la siguiente manera:
Código:
as
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Introducir aquí el código de usuario para inicializar la página
LlenarDatos()
End Sub
Private Sub LlenarDatos()
If (Me.Page.Session("MiTabla") Is Nothing) Then
'Esto solo ocurre la primera vez que se carga la pagina
Dim Tabla As New Data.DataTable ' Creando la Tabla
Dim ValoresColumnas(1) As Object
'Agregando Columnas a la nueva tabla
Tabla.Columns.Add("Columna1", System.Type.GetType("System.String"))
Tabla.Columns.Add("Columna2", System.Type.GetType("System.String"))
ValoresColumnas(0) = "Valor 1"
ValoresColumnas(1) = "Valor 2"
'Agregando Registros
Tabla.Rows.Add(ValoresColumnas)
ValoresColumnas(0) = "Valor 3"
ValoresColumnas(1) = "Valor 4"
Tabla.Rows.Add(ValoresColumnas)
DataGrid1.DataSource = Tabla
Me.Page.Session("MiTabla") = Tabla
Else
DataGrid1.DataSource = Me.Page.Session("MiTabla")
End If
DataGrid1.DataBind()
End Sub
Private Sub AgregarRegistro()
Dim Tabla As Data.DataTable
Dim ValoresColumnas(1) As Object
Tabla = Me.Page.Session("MiTabla")
ValoresColumnas(0) = "Valor 5"
ValoresColumnas(1) = "Valor 6"
'Agregando Registros
Tabla.Rows.Add(ValoresColumnas)
Me.Page.Session("MiTabla") = Tabla
End Sub
Private Sub CerrarForma()
If (Not Me.Page.Session("MiTabla") Is Nothing) Then
CType(Me.Page.Session("MiTabla"), Data.DataTable).Dispose()
Me.Page.Session.Remove("MiTabla")
End If
End Sub
Private Sub BtnAgregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAgregar.Click
AgregarRegistro()
End Sub
El caso es que puedes almacenar todos los valores que quieres en el Session, pero te recomiendo que no abuses de eso, y que cuando ya no necesites almacenar esa informacion ejecutes una limpieza del mismo como el el codigo mostrado en el procedimiento CerrarForma
Espero que eso sea lo que necesites