- - PR -
子画面でのpostbackで他の画面が開いてしまう
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-04-21 12:00
始めまして。
VB6でプログラム開発してた者です。 現在、VB.NETが導入され、勉強中なのですが、その違いに戸惑ってます。 (特にASP.NET) この会議室には参考になることが多く、お世話になっております。 ところで、現在開発中のプログラムで困っています。質問させてください。 子画面でTextBoxのコード入力時、データベースより名寄せしてLabelに表示したい のですが、コードのTextBoxのAutoPostBackをTrueにして、TextChangedイベントで名称をLabelに表示させると、子画面ではなく他のウインドウが開いて、その結果が表示されてしまいます。子画面で処理をすることは可能でしょうか? 可能であれば、その方法を 教えてください。よろしくお願いいたします。 | ||||
|
投稿日時: 2005-04-21 12:24
子画面を、showModalDialogで開いてませんか?
だとすると、不可能です。showModalDialogで開いた画面はちょっと特殊なので。 子画面を、window.open()もしくはtarget="_blank"のリンクから開いているとすれば、可能です。この場合、別ウィンドウが開いてしまうとすれば、Formタグのtarget属性に変な値が入っちゃってるのかも。 | ||||
|
投稿日時: 2005-04-21 12:50
おそらくshowModalDialogを使用してるのだと思いますが
その場合、フレームを使用することによって回避できます。 親画面からはフレームのダミーページをshowModalDialogで開きます。
| ||||
|
投稿日時: 2005-04-21 13:23
ぼのぼのさん、burton999さん、ありがとうございました。解決しました。
確かにshowModalDialogを使用していたのですが、burton999さんの おっしゃるとおり、フレームを使用することによってうまくいきました。 2日も悩んでいたのに、ウソみたいです。 どうもありがとうごさいました。 | ||||
|
投稿日時: 2005-04-21 13:29
ほんとだ、できた!
私まで勉強になってしまいました。 気安く「不可能」なんて言うもんじゃないですね… ありがとうございました。 | ||||
|
投稿日時: 2005-04-22 07:13
フレームの代わりに<head>...</head>セクションの間に
<base target="_self">を追加すると解決するようです。 _________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 | ||||
|
投稿日時: 2005-04-22 09:42
Accessさん、ありがとうございます。
確かに<base target="_self">を追加しても解決しました。 いろいろと方法があるものですね。勉強になります。 ただ、この方法だと、子画面でのフォーカス移動が出来ません。 下記の方法でエラー時、フォーカス移動しているのですが・・・。 何故でしょう? ------------------------------------------------------------------------------- Dim scrpt As String scrpt = "<script language='JavaScript'>" + "document.getElementById('txtSyain_CD').focus(); <" + "/script>" RegisterStartupScript("setfocus", scrpt) ------------------------------------------------------------------------------- [ メッセージ編集済み 編集者: ゆうパパ 編集日時 2005-04-22 09:43 ] | ||||
|
投稿日時: 2005-04-22 18:32
おぉ!!こんな方法があったとは。。。知らなかった。 今までフレームで実装したところを直そう_| ̄|○ |
1