こんにちは。
asp.net2.0を使い始めて間もないのですが、子ウィンドウから親ウィンドウへの値代入で困ってます。
親ウィンドウからボタンで子ウィンドウを表示し、子ウィンドウのGridViewで選択した値を親ウィンドウの
テキストボックス(サーバーコントロール)に代入したいのですが、
['window.opener.form1.TextBox1' は Null またはオブジェクトではありません。]
というエラーが出てしまいます。
ネットで見つけたサンプルは、親、子ともにウェブフォームを使用しており、確かにうまくいくのですが、
私が作っているページはマスターページの中のコンテンツフォームを親としていて、うまくいきません。
※但し、親側のコントロールをHTMLクライアントコントロールのINPUTタグにし、
さらにフォーム名をaspnetForm(ブラウザのソース表示でみたらそうなってました。自動生成?)
にして
↓子ウィンドウのグリッド選択時ソース
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
string strScript;
strScript = "<script language='javascript'>";
strScript += "window.opener.form1.TextBox1.value='aaaa';";
strScript += "window.close();";
strScript += "</script>";
Response.Write(strScript);
}
リテラルコントロールにしたり、TextBox1.valueではなくTextBox1.textにしてみたりと
いろんなパターンを試しましたが、だめでした。
コンテンツフォームでは親のサーバーコントロールへの値代入は不可能なのでしょうか?
そもそも、子ウィンドウでの検索というのはASP.NETでは、あまり一般的ではないのでしょうか?
宜しくお願いいたします。
(情報、不足してましたら教えてください。)
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
単純に親ウインドウないのフォーム名が
aspnetFormでform1ではないからでは。
"window.opener.aspnetForm.TextBox1.value='aaaa';";
がより正しいかと。
きつい意見ではありますが、フォーム名と
コントロール名の見直しが
必要ではないかと思います
この回答への補足
実行時の親ウィンドウをソース表示すると確かにaspnetFormになってますが
もともとVisualStudioでのソースはform1になっています。
すみません。質問文に漏れがありましたが、フォーム名をaspnetFormにして親のコントロールをinputタグにした場合だけ動きます。でもaspのtextboxコントロールにすると値が代入されません。
親ページをコンテンツフォームにしなければ動くのですが・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ソフトウェア) Figma 1 2023/06/23 14:22
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Word(ワード) Microsoft Word2023で、修正箇所を表示させたい 1 2023/02/09 10:07
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのシート上に別のシー...
-
VBAで任意のウインドウのサイズ...
-
Javascript_submit()完了後に処...
-
VBの画面で、全ウィンドウを一...
-
JavaScriptで指定Windowを最大...
-
親ウィンドウから子ウィンドウ...
-
ウィンドウ名からウィンドウオ...
-
GetAncestorのGA_ROOTとGA_ROOT...
-
window.close()で確認メッセー...
-
子→親ウインドウへデータを受け...
-
ウィンドウサイズを開いたとき...
-
JavaScriptでPDFを新規ウィンド...
-
window.openで新しいページを後...
-
VBScriptでリンクをクリックし...
-
ウィンドウの2重起動を防止したい
-
Access2007では、フォームのウ...
-
1クリックでモーダルを開いてか...
-
秀丸エディタでHTMLタグテキス...
-
<EXCEL/VBA> OUTLOOKのウインド...
-
デスクトップ画面を4分割するには
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのシート上に別のシー...
-
Javascript_submit()完了後に処...
-
VBAで任意のウインドウのサイズ...
-
ウィンドウの2重起動を防止したい
-
window.Openをモーダルにできま...
-
<EXCEL/VBA> OUTLOOKのウインド...
-
ウィンドウ名からウィンドウオ...
-
VBの画面で、全ウィンドウを一...
-
子ウィンドウの存在確認
-
初心者javascript グーグルクロ...
-
インタネットからPDFファイルだ...
-
親ウィンドウから開いた子ウィ...
-
子ウィンドウより親ウィンドウ...
-
1クリックでモーダルを開いてか...
-
子ウィンドウを常に手前表示、...
-
ポップアップと作業ウィンドウ...
-
IEでのみ発生するJavaScriptエラー
-
ブラウザ(IE)からエクスプロー...
-
JavaScriptで指定Windowを最大...
-
リンク時、親ウインドウを最前...
おすすめ情報