手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

ASP.NET AJAX正式版带来的Validator问题及解决方案

来源:互联网 作者:west263.com 时间:2008-02-22
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

  升级到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

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!