一、在UpdatePanel控件内部使用ASP.NET 2.0/3.5校验器控件带来的问题
要在UpdatePanel控件内部使用ASP.NET 2.0/3.5既有的校验器控件,将会导致系统运行时的不相容问题。尽管微软很早就声明了可能要以Windows Update的方式下载相应的补丁以解决这个问题,但是到目前为止尚未实现这个补丁。
不过大牛Matt Gibbs(http://blogs.msdn.com/mattgi/archive/2007/01/23/asp-net-ajax-validators.aspx)已经为我们编写了一个程序集Validators.dll,正是用于上述解决ASP.NET 2.0/3.5既有的校验器控件与 UpdatePanel不相容的问题。
程序集Validators.dll的下载地址为:
http://blogs.msdn.com/mattgi/attachment/1516974.ashx
二、使用程序集Validators.dll
此程序集的使用非常简单。在下载上述程序集之后,只需把它简单地复制到你的网站的bin子目录下,然后修改你的web.config文件即可。修改内容如下:
在你的web.config文件的“system.web”节下添加如下内容:

Code
<pages>
<controls>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add namespace="AjaxControlToolkit" assembly="AjaxControlToolkit" tagPrefix="ajaxToolkit"/>
</controls>
<!--
将修改过的 Validators.dll 复制到项目的 bin 目录,以便置换 ASP.NET 既有的
Validators,使其可与 UpdatePanel 相容。
-->
<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>
</pages>