2009年6月25日 星期四

糟糕,ASP.NET 出現'WebForm_PostBackOptions' 未被定義的錯誤

問題說明:ASP.NET應用程式執行中出現'WebForm_PostBackOptions' 未被定義的錯誤訊息,該怎麼辦?
問題分析:最近有個機會需要將MySQL的日期資料轉為MsSQL的日期資料,在未查明MySQL的日期資料型別前;直接使用long.Paser的Method將資料解析為數值後,直接new DateTime(long),結果就出現了致命性的錯誤;不但AJAX出現下面的問題:
訊息: 語法錯誤
行: 1
字元: 1
程式碼: 0
URI: http://master.cursorinfo.com.tw:7000/AideRegister/WebResource.axd?d=5-EZy3-7lrBUw0173cFa5A2&t=633813918869843750
而且,
ASP.NET應用程式執行中出現'WebForm_PostBackOptions' 未被定義的錯誤。
請教微軟技術諮詢中心沈先生後得到的解答是:
您的錯誤訊息應是頁面直接報錯,目前看來時間戳記是上周四,造成程式碼有問題,可能Web Server上的時間有誤。
沒錯,就是ASP.NET的時間戳記出現了混淆的狀態。

解決方案:
依據沈先生建議,在網路上搜尋解決方案,得到的正解是:重新安裝.NET Framework 2.0即可。
可是重新安裝.NET Framework 2.0有些步驟須注意,因此,將相關方法說明如下,提供有此需求者減少摸索的時間。

重新安裝.NET Framework 2.0步驟:
1.開起系統控制台的新增移除程式,確定已安裝的.NET Framework 2.0的版本。
2.下載該版本的可轉散發套件。
3.將該套件解壓縮在已知的路徑待用。
4.找到新增移除程式中的.NET Framework 2.0,點選這個套件後,在更新的資料中,找到『按這裡取得資源資訊』,然後在彈出的視窗中,找到『修復』按鈕。
5.點選修復按鈕後,進行修復工作。如果原安裝的解壓縮檔已刪除,系統會顯示瀏覽安裝來源的視窗,只要將檔案來源指向剛才解壓縮後的資料夾,即可進行修復工作。

後記:
1.詳查網路資源後,才知道MySQL的日期資料,是unix日期型別,只要使用FROM_UNIXTIME()的函數,就可以解析該日期資料。(MySQL支援該函數)
2.MySQL發佈了Connector元件,可以讓.NET輕鬆存取MySQL資料庫;相當不錯的元件。Thanks.

2009年6月16日 星期二

Events in ASP.NET Master and Content Pages

Master page controls Init event.

Content controls Init event.

Master page Init event.

Content page Init event.

Content page Load event.

Master page Load event.

Master page controls Load event.

Content page controls Load event.

Content page PreRender event.

Master page PreRender event.

Master page controls PreRender event.

Content page controls PreRender event.

Master page controls Unload event.

Content page controls Unload event.

Master page Unload event.

Content page Unload event.

Source Url:http://msdn.microsoft.com/en-us/library/dct97kc3.aspx