- - PR -
子画面が一度に閉じない?
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-06-27 19:19
window.opener.document.getElementById(strCtrl).value = strCd;
いつもお世話になります。 現在、VB.NETでWebアプリを開発しています。 子画面のDataGrid一覧からに行選択をしたら、子画面を閉じて 親画面に戻る処理ですが、 DataGridにテンプレートのボタンを作成して、ボタンを選択すると、 子画面を閉じない、もう一度ボタンを選択すると、子画面が閉じられます。 二回にボタンを押さないといけない動作が解消したいのですが、 どなたか教えていただければうれしいです。 よろしくお願いいたします。 ****ソース********* Sub dbgrdSrc_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dbgrdSrc.ItemCommand Dim btnName As New Button btnName = CType(dbgrdSrc.Items(0).FindControl("gdbtnSel"), Button) Session("strCode") = e.Item.Cells(0).Text Session("strName") = e.Item.Cells(1).Text btnName.Attributes("onclick") = "window.close();" End Sub | ||||||||
|
投稿日時: 2006-06-27 19:29
onclick="window.close()"; となるのは1回目にボタンが押された後ですよね。だからです。 表示された時点で onclick="window.close()"; が書かれたようにするか、ボタンを押されたときに「window.close();」そのものを実行 させるか、ですね。(RegisterClientなんとかを使用?) | ||||||||
|
投稿日時: 2006-06-27 19:36
クライアントに出力された HTML はどうなっていますか?
| ||||||||
|
投稿日時: 2006-06-27 19:38
引用---------------------------
表示された時点で onclick="window.close()"; が書かれたようにするか、ボタンを押されたときに「window.close();」そのものを実行させるか、ですね。(RegisterClientなんとかを使用?) -------------------------------- 二つの方法がまだよくわからないですが、 子画面は検索画面で、テキストボックスに何か入力されたら検索し、データグリッドをフォームにバインドしていくんですので、1つ目はどういうふうに実現できるのかわからない。 二つ目の方法がどこに記述すればまだ、要領が理解していない。 RegisterClientについて使ったことないので、ちょっと調べます。 ご教授をお願いいたします。 | ||||||||
|
投稿日時: 2006-06-27 19:47
かるあさんへ
以下はHTMLのソースです ********************************** <table> <tr > <td >ID</td> <td >名称</td> <td > </td> </tr> <tr > <td >000001</td> <td >鈴木 ◎子</td> <td > <input type="submit" name="dbgrdSrc:_ctl2:gdbtnSel" value="選択" id="dbgrdSrc__ctl2_gdbtnSel" /> </td> </tr> </table> ****************************************** | ||||||||
|
投稿日時: 2006-06-27 20:01
それだとDataGridのItemCreatedイベントあたりを使うんだと思います。
この掲示板にも過去ログが結構あると思うので上記をしらべてみるといいかも。 記事もあるかもしれません。 http://www.atmarkit.co.jp/fdotnet/ [追記] ぁ、まてよ。サーバで処理が必要で、かつwindowを閉じなきゃいけないなら、 下側の方法がいいのかな。 [ メッセージ編集済み 編集者: べる 編集日時 2006-06-27 20:44 ] | ||||||||
|
投稿日時: 2006-06-27 20:06
チャチャさんのおっしゃるとおり
window.close() は最初に DataGrid を作成したときに 各ボタンに関連付けないといけないと思います。 | ||||||||
|
投稿日時: 2006-06-27 20:18
データグリッドにデータをバインドした後(するとき?)に 全行のボタンの onclick に javascript:window.close() を割り当てます |