2009-06-04 28 views
0

我有一個非常簡單的數據捕獲網絡應用程序。ASP.NET和Infragistics中的奇怪的AJAX/JS錯誤NetAdvantage

在主捕獲窗口,當您保存行中的UltraWebGrid,這取決於某些標誌兩個窗戶打開(有ScriptManager.RegisterStartupScript)。

其中一個窗口,工作得很好。

另一種,當它被關閉(通過其自身的ScriptManager.RegisterStartupScript手段)導致在Firefox下一個錯誤在主窗口:

Sys系統沒有定義 SYS $ $的CultureInfo _getAbbrMonthIndex(「」 )ScriptRe ... = 7c12e347(line 6391) ?在的ScriptResource.axd?d = Bx90cRohr9iY-lmxXmy5QYd7JgQApS0Xh-xBfl6hEe8d-0h4pCZYQQKgxdo97mKzaD5488jiBZ8TOSa4-cOPaw2 &噸= 4e25e479 @ 1()ScriptRe ... = 4e25e479(線499) [該誤差BREAK] this._upperAbbrMonths =此內容S .dateTimeFormat.AbbreviatedMonthNames);在此之後,Firefox變得瘋狂,標籤導航停止工作,窗口中的每個文本輸入(包括地址欄和搜索框)都將他們的內容(如同時選中一樣)繪製爲內容,並且事情停止表現很奇怪。我必須關上窗戶並重新打開它,有時我甚至不得不殺死這個過程。

我已經嘗試了很多事情,似乎沒有任何工作。我比較上述窗口中的兩個aspx文件,沒有什麼區別。

這讓我嚇壞瘋了。

任何人都有過這個錯誤?有任何想法嗎?黑客?指針?

非常感謝。

回答

1

簡短的回答是,在瀏覽器窗口管理(開啓和關閉)不是一個有趣的或者簡單的任務。在關閉窗口之前,您必須確保正在執行的任何腳本已經完成。在你的情況下,聽起來好像還有一個初始化腳本正在關閉窗口時運行。此時,DOM被銷燬,腳本開始嘗試訪問已被刪除的元素。超時是簡單的破解。更好的解決方案是使用WebDialogWindow(也在NetAdvantage中),它彈出實際上是同一頁面上的元素的「窗口」。通過這種方式,您無需依賴回發和腳本就可以管理它,而且您不必爲從單獨的窗口中獲取數據而煩惱。

0

Althought我不知道爲什麼,這個bug是由

ScriptManager.RegisterStartupScript引起的(頁,Page.GetType(), 「CLOSE」, 「window.close()的」);

其他窗口也有類似的事情,但它並沒有導致它。

我固定它通過在setTimeout的包裹window.close()的( 「window.close()的;」,500)。

我不知道爲什麼這樣,如果任何人有任何線索,請賜教正在發生的事情。

乾杯!