- PR -

子画面の値を親画面にセットされない

1
投稿者投稿内容
チャチャ
常連さん
会議室デビュー日: 2003/10/13
投稿数: 42
投稿日時: 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

子画面から親画面に戻ったとき、ページロードではいけないのでしょうか?

どなたがご教授をいただければ幸いです。
宜しくお願いいたします。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2006-06-28 12:05
引用:
子画面から親画面に戻ったとき、ページロードではいけないのでしょうか?

ブレークはってデバッグしたらページロード通りますか?
親画面の方がサーバーにアクセスしない限りページロードは発生しないですよね。

閉じるときにjavascriptでリロードかなんかで再リクエストさせるのがいいでしょうか。
チャチャ
常連さん
会議室デビュー日: 2003/10/13
投稿数: 42
投稿日時: 2006-06-28 13:12
べる さんへ

 ベルさんはおっしゃるとおりで、デバッグしたら親画面のページロードを通らない。

---------引用--------------
> 閉じるときにjavascriptでリロードかなんかで再リクエストさせるのがいいでしょうか。

最リクエストさせる方法をイマイチわからないんですが、詳細をご教授できますか?
宜しくお願いします。

未記入
ベテラン
会議室デビュー日: 2003/06/26
投稿数: 76
投稿日時: 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


チャチャ
常連さん
会議室デビュー日: 2003/10/13
投稿数: 42
投稿日時: 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

スキルアップ/キャリアアップ(JOB@IT)