我在使用會話將整個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
第2頁(搶會話和填充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來讓我在第一頁的Gridview中不斷添加部件。
我會說:不是gridview!你應該傳遞數據而不是gridview。 –
@MaciejLos我不知道該怎麼做?我試圖通過Gridview中的所有數據。不只是一排。 –