2009-06-04 13 views
0

私は非常に単純なデータキャプチャWebアプリケーションを持っています。ASP.NETとInfragistics NetAdvantageの奇妙なAJAX/JSバグ

メインキャプチャウィンドウで、UltraWebGridに行を保存すると、特定のフラグに応じて2つのウィンドウが開きます(ScriptManager.RegisterStartupScriptを使用)。

ウィンドウの1つが完全に正常に動作します。

それは(自身のScriptManager.RegisterStartupScriptによって)閉じますもう一つは、メインウィンドウのFirefoxで次のエラーが発生します。

SYSは SYS $のCultureInfo $ _getAbbrMonthIndexを定義されていません(「」 )ScriptRe ... = 7c12e347(行6391) ? ScriptResource.axdに?D = Bx90cRohr9iY-lmxXmy5QYd7JgQApS0Xh-xBfl6hEe8d-0h4pCZYQQKgxdo97mKzaD5488jiBZ8TOSa4-cOPaw2 &トン= 4e25e479 @ 1()ScriptRe ... = 4e25e479(ライン499) this._upperAbbrMonths =この... S [このエラーにブレーク] .dateTimeFormat.AbbreviatedMonthNames);

そしてその後、Firefoxが狂ってしまい、タブのナビゲーションが機能しなくなり、ウィンドウ内のすべてのテキスト入力(アドレスバーと検索ボックスを含む)は、選択されているかのように(すべて同時に)物事はかなり奇妙な動作を停止します。私は窓を閉じてそれを開けなければならない、時々私はプロセスを殺さなければならない。

私は多くのことを試しましたが、何も動作していないようです。私は前述のウィンドウで2つのaspxファイルを比較して、実際にはそれほど違いはありません。

これは私を逃げようとしています。

誰でもこのエラーが発生しましたか?何か案は?ハック?ポインタ?

ありがとうございました。バグが

ScriptManager.RegisterStartupScript(ページ、Page.GetType()、 "CLOSE"、 "はwindow.close()")によって引き起こされた理由、私は正確に知らない

答えて

1

簡単な答えは、ブラウザでウィンドウ(開閉)を管理することは楽しいことではなく、簡単なことではありません。ウィンドウを閉じる前に、実行中のスクリプトが完了していることを確認する必要があります。あなたのケースでは、ウィンドウを閉じている間に初期化スクリプトが実行されていたようです。その時点で、DOMは破壊され、スクリプトは既に削除された要素にアクセスしようとし始めます。タイムアウトはイージーハックです。より良い解決策は、同じページの実際の要素である 'windows'をポップアップするWebDialogWindow(NetAdvantageでも)を使用することです。そうすれば、ポストバックやスクリプトのインクルードに頼らなくても管理でき、別のウィンドウからデータを取得するのに苦労する必要はありません。

0

Althought。

他のウィンドウにも同様のことがありますが、それは原因ではありません。

setTimeout( "window.close();"、500)にwindow.close()をラップして修正しました。

誰かが手がかりを持って私を啓発してください、なぜこれが起こっているのか分かりません。

乾杯!