ページ間でデータの受け渡し

Session オブジェクトを使えば簡単にフォーム間で受け渡しができる。

例として、TreeViewでノードが選択されたとき、ノードの情報をSessionに格納してから、他のページをリロードする。

Private Sub tree_SelectedNodeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tree.SelectedNodeChanged
Session(“myTreeSelectValue”) = DirectCast(sender, TreeView).SelectedValue
Response.Write(“<script language=’JavaScript’>parent.right.location.reload();</Script>”)
End Sub

リロードされたページでは、Sessionから情報を読み込んで、選択された項目の子ノードを一覧表示する。

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack() Then
Exit Sub
End IfDim arg As String = Session(“myTreeSelectValue”)If (Not String.IsNullOrEmpty(arg)) Then
‘選択ノードの子ノードを表示
datagrid.DataSource = CreateDataSource(arg)
datagrid.DataBind()
Else
‘未選択
datagrid.DataSource = CreateDataSource(“”)
datagrid.DataBind()
End IfEnd Sub

コメントを残す

メールアドレスが公開されることはありません。