- - PR -
子画面の値を親画面にセットされない
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-06-28 11:35
いつもお世話になっております。
VB.NETでWebアプリの開発をしています。 昨日も投稿させていただき、みんなのお陰で子画面が閉じられるようにできました。今日も宜しくお願いします。 検索用の子画面からデータグリッド行を選択し、IDと名前を親画面のドロップダウンリストに追加したい。 子画面のIDとNameをセッションに渡し、親画面でそのセッションをセットしたい。 ****子画面のソース******** Sub dbgrdSrc_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dbgrdSrc.SelectedIndexChanged Dim strScript As New System.Text.StringBuilder With strScript .Append("<script language='javascript'>" & vbCrLf) .Append(vbTab & "window.close();" & vbCrLf) .Append("</script>") End With Session("strCode") = dbgrdSrc.SelectedItem.Cells(0).Text Session("strName") = dbgrdSrc.SelectedItem.Cells(1).Text If (Not IsClientScriptBlockRegistered("clientScript")) Then Me.Page.RegisterClientScriptBlock("clientScript", strScript.ToString) End If End Sub *******親画面のソース******************** Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Not Session("strCode") Is Nothing And Not Session("strName") Is Nothing Then dropdownlist.Items.Clear() dropdownlist.Items.Add(New ListItem(CStr(Session("strName")).ToString, CStr(Session("strCode")).ToString)) dropdownlist.SelectedIndex = 0 End If End Sub 子画面から親画面に戻ったとき、ページロードではいけないのでしょうか? どなたがご教授をいただければ幸いです。 宜しくお願いいたします。 | ||||
|
投稿日時: 2006-06-28 12:05
親画面の方がサーバーにアクセスしない限りページロードは発生しないですよね。 閉じるときにjavascriptでリロードかなんかで再リクエストさせるのがいいでしょうか。 | ||||
|
投稿日時: 2006-06-28 13:12
べる さんへ
ベルさんはおっしゃるとおりで、デバッグしたら親画面のページロードを通らない。 ---------引用-------------- > 閉じるときにjavascriptでリロードかなんかで再リクエストさせるのがいいでしょうか。 最リクエストさせる方法をイマイチわからないんですが、詳細をご教授できますか? 宜しくお願いします。 | ||||
|
投稿日時: 2006-06-28 14:34
親画面の非表示ボタンを押すなんかどうでしょう。
With strScript .Append("<script language='javascript'>" & vbCrLf) .Append(vbTab & "window.opener.document.getElementById('ボタンのID').click();" & vbCrLf) .Append(vbTab & "window.close();" & vbCrLf) .Append("</script>") End With | ||||
|
投稿日時: 2006-06-28 15:42
以前の記事を参考させていただき、以下のようにしたら、無事に動作しました。
ありがとうございました。 With strScript .Append("<script language='javascript'>" & vbCrLf) .Append(vbTab & "window.opener.location.href='child.aspx';") .Append(vbTab & "window.close();" & vbCrLf) .Append("</script>") End With |
1