
こんにちは。
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ASP.NetのGridViewで任意の行クリックで選択を行う方法
Microsoft ASP
-
TextChangeイベントが発生しない
JavaScript
-
ポストバック時の画面スクロール位置の保持
Microsoft ASP
-
-
4
ASP.Net 条件により自身を閉じるには
Microsoft ASP
-
5
ASP(VBS) ←→ JavaScript の変数値のやりとり
JavaScript
-
6
親ウインドのASPをリロードさせたい
JavaScript
-
7
Webページ上のボタン等の位置を移動したい。
Microsoft ASP
-
8
【C#】Page_Loadさせない方法について
その他(プログラミング・Web制作)
-
9
ASP.Net 別ウィンドウを開く・ジレンマ編
Microsoft ASP
-
10
GridViewの行選択イベントを発生させるには?
JavaScript
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのシート上に別のシー...
-
デスクトップ画面を4分割するには
-
ポップアップと作業ウィンドウ...
-
Javascript_submit()完了後に処...
-
javascriptで開いたウィンドウ...
-
インタネットからPDFファイルだ...
-
VBAで任意のウインドウのサイズ...
-
タスクバーに非表示
-
サブウィンドウから親ウィンド...
-
子ウィンドウのリクエストを親...
-
1クリックでモーダルを開いてか...
-
タスクバーに重ならないように...
-
子ウィンドウの存在確認
-
VBの画面で、全ウィンドウを一...
-
子ウィンドウの「閉じる(×)」...
-
子ウィンドウから親ウィンドウ...
-
エラー:アクセスが拒否されました
-
ブラウザ(IE)からエクスプロー...
-
子ウィンドウを常に手前表示、...
-
ウィンドウの2重起動を防止したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのシート上に別のシー...
-
Javascript_submit()完了後に処...
-
VBの画面で、全ウィンドウを一...
-
javascriptで開いたウィンドウ...
-
ポップアップと作業ウィンドウ...
-
VBAで任意のウインドウのサイズ...
-
デスクトップ画面を4分割するには
-
1クリックでモーダルを開いてか...
-
ウィンドウの2重起動を防止したい
-
ブラウザの×ボタンを効かなくす...
-
親ウィンドウから開いた子ウィ...
-
ウィンドウ名からウィンドウオ...
-
openで開いた子ウィンドウで表...
-
ホームページ全体を拡大・縮小...
-
<EXCEL/VBA> OUTLOOKのウインド...
-
インタネットからPDFファイルだ...
-
子ウィンドウより親ウィンドウ...
-
window.Openをモーダルにできま...
-
flashmx2004でリンク先を・・・
-
助けてGmailでボタン表示が消え...
おすすめ情報