2008年1月22日

UpdatePanel 與 Validator 不相容的問題 - Bug Fix

UpdatePanel 與 Validator 不相容的問題,嚴格說起來,應該算是微軟的Bug吧?

ASP.NET 2.0的Vlidator其實是利用一些JavaScript來做的,而要將JavaScript註冊到Client端,有UpdatePanel跟沒有Update是有差別的!(請看先前的文章...)
這也是他們兩個不相容的主要原因,不過這一部分微軟據說已經計畫會透過Windows Update / Microsoft Update來更新System.Web

剛剛在一個Blog上面,看到了目前的解法:
http://blogs.msdn.com/mattgi/archive/2007/01/23/asp-net-ajax-validators.aspx


下載新版的Validators:http://blogs.msdn.com/mattgi/attachment/1516974.ashx
解開壓縮檔,將 Validators.dll 複製到網頁應用程式的 bin 資料夾中
開啟 Web.config,在 區段下的 標籤中,加入如下的 設定:

Web.config 組態設定

<tagMapping>
  <add tagType="System.Web.UI.WebControls.CompareValidator"
   mappedTagType="Sample.Web.UI.Compatibility.CompareValidator,Validators, Version=1.0.0.0"/>
  <add tagType="System.Web.UI.WebControls.CustomValidator"
    mappedTagType="Sample.Web.UI.Compatibility.CustomValidator, Validators, Version=1.0.0.0"/>
  <add tagType="System.Web.UI.WebControls.RangeValidator"
    mappedTagType="Sample.Web.UI.Compatibility.RangeValidator, Validators, Version=1.0.0.0"/>
  <add tagType="System.Web.UI.WebControls.RegularExpressionValidator"
   
mappedTagType="Sample.Web.UI.Compatibility.RegularExpressionValidator,
Validators, Version=1.0.0.0"/>
  <add tagType="System.Web.UI.WebControls.RequiredFieldValidator"
    mappedTagType="Sample.Web.UI.Compatibility.RequiredFieldValidator,
Validators, Version=1.0.0.0"/>
  <add tagType="System.Web.UI.WebControls.ValidationSummary"
    mappedTagType="Sample.Web.UI.Compatibility.ValidationSummary,
Validators, Version=1.0.0.0"/>
</tagMapping>

沒有留言:

張貼留言