Thursday, November 20, 2008

CalendarExtender 出現 script error

背景
Visual Studio 2005 (.net framework 2.0) + AJAX Control ToolKit 
用了Calendar Extender 做了一個要入Date的Search screen.

個Calendar Extender的主要目的就是容許user按下月曆旁的icon去算擇日期。

'null' is null or not an object
不過,當個user係全keyboard input的話,只要根住呢個sequence去做,就會出現javascript error:
  1. Date From 輸入一個日期(e.g. 01/01/2008)
  2. Tab 落下一個control
  3. Tab Back 返去Date From,再輸入一個同Step 1不同年份的日期 (e.g. 01/01/2009)
  4. Javascript error 
Search過之後,在這個ASP.net 個 forum查到原來係因為CalendarExtender裡面係假設user只會以Calender輸入日期,而不會以keyboard direct input日期,而在轉年份時,因為CalendarExtender段script會企途refresh個Calendar,因為在純keyboard input的情況下,個calendar根本未被render,因此就出現error 了。

Solution
在Ajax Control Toolkit個 Issue Tracker (#12051) 發現了同樣的問題,並據稱而在新的release解決了個問題。
(原來currently用緊1.0.10618.0)

No comments: