代码改变世界

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

  Jeffrey Zhao  阅读(5876)  评论(57编辑  收藏  举报

升级到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节点中添加(或修改)如下的元素:

<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 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示