Ich habe Probleme beim Übergeben einer gesamten Gridview an eine andere Seite mit einer Sitzung. Die Art, wie ich es gerade mache, besteht darin, die Datenquelle in einer Datentabelle zu speichern und die Datentabelle durch eine Sitzung zu leiten.So übergeben Sie das gesamte Gridview in einer Sitzung an eine andere Seite
Hier ist mein Code:
1. Seite:
Protected Sub btnSubmit_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click
Dim tbl As DataTable = CType(gvSessionParts.DataSource, DataTable)
Session("dtCart") = tbl
If Request.QueryString("Customer") = "" Then
Response.Redirect("Orderreview.aspx"
Else
Response.Redirect("Orderreview.aspx?Customer=" & Request.QueryString("Customer") & "")
End If
End Sub
zweiten Seite (Session greifen und gridview bevöl)
If Not IsPostBack Then
Dim dt2 As DataTable = CType(Session("dtCart"), DataTable)
dt2.Columns.Add(New DataColumn("PartNumber", GetType(System.String)))
dt2.Columns.Add(New DataColumn("Line", GetType(System.String)))
dt2.Columns.Add(New DataColumn("Description", GetType(System.String)))
dt2.Columns.Add(New DataColumn("Description2", GetType(System.String)))
dt2.Columns.Add(New DataColumn("Qty", GetType(System.String)))
dt2.Columns.Add(New DataColumn("Price", GetType(System.String)))
gvSessionParts.DataSource = dt2
gvSessionParts.DataBind()
End If
Was mache ich falsch? Warum funktioniert das nicht?
Ich erhalte eine Fehlermeldung:
Object reference not set to an instance of an object.
Line 21: dt2.Columns.Add(New DataColumn("PartNumber", GetType(System.String)))
Ich fühle mich wie ich dies der falsche Weg bin vorbei. Ich benutze einen ViewState, um mir zu erlauben, Teile auf der 1. Seite der Gridview hinzuzufügen.
Ich würde sagen: NICHT Gridview! Sie sollten Daten anstelle von Gridview übergeben. –
@MaciejLos Ich weiß nicht, wie das geht? Ich versuche, alle Daten in der Gridview zu übergeben. Nicht nur eine Zeile. –