升級到ASP.Net AJax正式版之後,一般來說重新編譯不會有什麼問題,不用做什麼修改,這是個好消息。不過在執行時就會出現問題了。因為在正式版的程序集中,刪除了兼容UpdatePanel的Validator那些類,因此TagMapping時就無法找到需要的類了。如果您在您的項目中沒有使用到那些Validator(確切地說,是沒有在UpdatePanel中使用那些Validator),那麼只要在web.config文件中刪除下面的這個元素就可以了:
需要刪除的元素
<tagMapping>
<add tagType="System.Web.UI.WebControls.CompareValidator"
mappedTagType="System.Web.UI.Compatibility.CompareValidator, ..."/>
...
</tagMapping>
如果有朋友使用了這些兼容UpdatePanel的Validator,也不用著急,Matt Gibbs已經給出了解決方案。從他的文章裡我們得知,那些兼容的Validator將通過Windows Update對於.Net Framework進行升級。雖然我不知道為什麼要這麼做,但是我們似乎只能這麼接受。照目前來說,我們就要下載那些Validator,編譯這個項目,並將所得的Validators.dll復制到網站的Bin目錄下去。然後在web.config中configuration/system.web/pages節點中添加(或修改)如下的元素:
document.write
<tagMapping>
<add tagType="System.Web.UI.WebControls.CompareValidator"
mappedTagType="Microsoft.Web.UI.Compatibility.CompareValidator, Validators"/>
<add tagType="System.Web.UI.WebControls.CustomValidator"
mappedTagType="Microsoft.Web.UI.Compatibility.CustomValidator, Validators"/>
<add tagType="System.Web.UI.WebControls.RangeValidator"
mappedTagType="Microsoft.Web.UI.Compatibility.RangeValidator, Validators"/>
<add tagType="System.Web.UI.WebControls.RegularExpressionValidator"
mappedTagType="Microsoft.Web.UI.Compatibility.RegularExpressionValidator, Validators"/>
<add tagType="System.Web.UI.WebControls.RequiredFIEldValidator"
mappedTagType="Microsoft.Web.UI.Compatibility.RequiredFIEldValidator, Validators"/>
<add tagType="System.Web.UI.WebControls.ValidationSummary"
mappedTagType="Microsoft.Web.UI.Compatibility.ValidationSummary, Validators"/>
</tagMapping>
總的來說,正式發布的版本修改的地方還不是很大,移植起來應該還是比較輕松的(Control Toolkit還沒有嘗試過)。
http://www.cnblogs.com/JeffreyZhao/archive/2007/01/24/validators_in_ASP_net_AJax_finals.Html