次の GridView があります。
asp:GridView ID="GridView1"
runat="server"
AutoGenerateColumns="False"
DataKeyNames="ID"
gridlines="None"
cellpadding="15"
width="980px"
ItemStyle-backcolor="#ebecf0"
AlternatingItemStyle-backcolor="#ebecf0"
AllowPaging="True"
PageSize="4"
onpageindexchanging="GridView1_PageIndexChanging"
datasourceid="SqlDataSource2"
>
そして、この選択コマンド:
"SELECT * FROM [tbl_Project] INNER JOIN tbl_Cat
ON tbl_Project.CatID = tbl_Cat.Cat_ID
INNER JOIN tbl_Klant
ON tbl_Project.KlantID = tbl_Klant.Klant_ID
WHERE (([Titel] LIKE '%' + @Titel + '%')
AND ([CatID] = CASE WHEN @CatID = -1 THEN [CatID] ELSE @CatID END)
AND ([Bedrijf] LIKE '%' + @Bedrijf + '%')
AND ([Website] LIKE '%' + @Website + '%'))"
これにより、ユーザーはデータベース内のレコードを検索できます。GridView1 には詳細ボタンがあります。
<asp:LinkButton ID="klant" runat="server"
Text='<%#Eval("Bedrijf") %>'
PostBackUrl='<%# "klant_wijzigen.aspx?Klant_ID="+Eval("Klant_ID").ToString()%>'>
</asp:LinkButton>
これにより、ユーザーはその特定の件名の詳細を含む新しいページに移動します (ID に基づく)
質問
しかし、ユーザーが「戻る」をクリックすると、検索結果がクリアされます。これらの検索されたレコードを保存して PageLoad に表示するにはどうすればよいですか。
Cookie とセッションで試してみましたが、うまくいきません。
編集
私のセッションの試み:
Session("Test") = GridView1
GridView1 = Nothing
' Retrieve GridView from Session
GridView1 = DirectCast(Session("Test"), GridView)
GridView1.DataBind()