- - PR -
[ASP.NET C#] submitさせるとオブジェクトエラーになってしまう
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-11-29 17:09
親画面上のボタン押下で子画面をモーダル表示させ、子画面が閉じた時に 親画面が子画面から情報を受け取り、処理を行うことをしています。 以下は子画面を表示する時のコードになります。 script = "<script language=JavaScript>" + "window.showModalDialog('画面',window," + "'status=false;dialogWidth:492px;dialogHeight:512px');" + "Form1.submit();</SCRIPT>"; RegisterStartupScript("NewOpenWindow",script); 子画面を閉じると親画面をsubmitさせてます。 これで一応うまくいくのですが、 ブラウザのインターネットオプションの詳細設定で 「スクリプトエラーごとに通知を表示する」にチェックすると 「contentWindow.documentはNullまたはオブジェクトではありません」という エラーが表示されてしまいます。 submitがエラー原因であることはわかったのですが、どうすれば解決できるか わかりません。 ご教授お願いします。 [実現したいこと] 子画面が閉じたらそのまま親画面をポストバックさせたい | ||||||||||||
|
投稿日時: 2005-11-29 18:30
自己レスです。 SmartNavigationを設定していたのが原因でした。 | ||||||||||||
|
投稿日時: 2005-11-29 21:59
それは濡れ衣のような?まぁ、SmartNavigation の動作原理も、原因の一端ではありましょうが。 HTML、form 要素がきちんと閉じていないのに提出しようとしたから、じゃないかなぁ??? ___________________________________________________________________ □ written by Jitta on 2005/11/29 □ Microsoft MVP :Visual Developer ASP/ASP.NET Oct.2005-Sept.2006 _________________ | ||||||||||||
|
投稿日時: 2005-11-30 09:22
チェックしなくてもエラーはもともと起きていたという認識も持って欲しいかな。 | ||||||||||||
|
投稿日時: 2005-12-01 06:18
RegisterStartupScript の説明には、こうあります。
つまり、出力される予定の HTML は、次のようになります。
要素の完了が送られてきていないので、オブジェクトとして完成しているのかどうか、わからないわけですね。 SmartNavigation は、他の人の投稿から、インラインフレームを利用しているらしいです。このため、IE の履歴にも残らない、と。で、submit しようとしたけれども、オブジェクトが完成していないので参照できず、「contentWindow.documentはNullまたはオブジェクトではありません」というメッセージが出てくるのでしょう。 なので、SmartNavigation が悪い、と思われているなら、それは濡れ衣で、オブジェクトを完成させないような動作をさせる方が悪い、と思います。 FIX: A program may stop responding, and you may experience other unexpected behaviors when a new modal dialog box opens in an ASP.NET program(日本語だと機械翻訳のため、かなり頓珍漢)というのもありますが、これは ShowModal されたウインドウで SmartNavigation を使っている場合、の様に思います。 ___________________________________________________________________ □ written by Jitta on 2005/11/30 □ Microsoft MVP for Visual Developer ASP/ASP.NET Oct.2005-Sept.2006 _________________ |
1