已經用微軟的Ajax庫做了幾個比較成功的項目,在這過程中也發現了Ajax庫的一些錯誤,今天把它們都一一列出來,給大家一個參考。在專案中使用到的主要是Xml-script的功能,這個功能在早期的Atlas中出現,在正式版中被剔除,但是在1月份的CTP版本中仍然被保留,而且這部分功能有可能會被加入到以後的正式版本。如果你也剛好用到xml-script部分的話,或者對這部分感興趣,不妨過來看看,歡迎提出修改意見,目前我修正的錯誤列表如下:
修正Sys.Preview.Binding的一處錯誤,在出現動態綁定的情況下,Sys.Preview.Binding無法正常運作;
修正Sys.Preview.UI.Data.ListView,使其能夠保持高亮目前選擇的行,原來的ListView翻頁後無法保持高亮目前選擇行;
修正Sys.Preview.BindingBase.Transformers.ToString的一個低階錯誤,{0}改為{0,微軟真的不應該出現這樣的錯誤,看來他們確實沒有好好的檢查程式碼;
修改Sys.Preview.UI.Template,使其能夠取得layoutElement和scriptNode;
修正Sys.Application的一處錯誤,Sys.IDisposable的物件被Sys.Application管理,但是這個物件居然在死的時候沒有通知Sys.Application把自己刪除。
微軟提供的JavaScript原始程式碼包含Sys.Preview.UI.AutoCompleteBehavior和Sys.Preview.UI.PopupBehavior,但是在Microsoft.Web.Preview.dll的資源檔案中的腳本卻沒有這兩個Behavior,做這兩個Feature時感覺被微軟忽悠了一下,把這兩個Behavior加進來。
我把這些修正和修改放到了一個獨立的腳本,在ScriptManager中加入引用就可以了,下載修改的程式碼。
這些都是專案中使用xml-script時出現的錯誤,或者說需要這樣修改,也許我的理解是錯的,歡迎大家給予意見。