セッションを使用してGridview全体を別のページに渡す際に問題があります。私が現在やっているのは、データソースをデータテーブルに格納し、セッションを通してデータテーブルを渡すことです。ここでセッション内のGridview全体を別のページに渡す方法
は私のコードです:
第一ページ:
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
第二ページ(セッションを取得し、GridViewのを移入する)
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
私が間違って何をしているのですか?なぜこれは機能しないのですか?私はこの間違った方法渡していますように私は感じ
Object reference not set to an instance of an object.
Line 21: dt2.Columns.Add(New DataColumn("PartNumber", GetType(System.String)))
:
私はエラーを取得します。 ViewStateを使用して、第1ページのGridviewに部品を追加し続けることができます。
私は言っています:グリッドビューではありません!あなたはgridviewの代わりにデータを渡す必要があります。 –
@MaciejLosこれを行う方法がわかりません。私はGridviewのすべてのデータを渡そうとしています。 1行だけではありません。 –