您好我从Microsoft下载了最新版本的Ajax Toolkit,我正在尝试为htmlEditorExtender设置清理程序,但在尝试构建网站时,我一直收到以下错误:
“无法识别的元素'消毒剂。'”
按照Ajax网站上的指南,我尝试添加以下内容:
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0">
<sanitizer defaultProvider="AntiXssSanitizerProvider">
<providers>
<add name="AntiXssSanitizerProvider"
type="AjaxControlToolkit.Sanitizer.AntiXssSanitizerProvider"></add>
</providers>
</sanitizer>
<assemblies>
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>
到我的web.config以及:
<sectionGroup name="system.web">
<section name="sanitizer"
requirePermission="false"
type="AjaxControlToolkit.Sanitizer.ProviderSanitizerSection,
AjaxControlToolkit"/>
</sectionGroup>
我是ASP.net和VB.net的新手,我之前从未使用过Ajax工具包。在我的Bin文件夹中,我按照说明将工具箱控件添加到工具箱中时安装了AjaxControlToolkit.dll。
是否有一些我缺少或需要做的事情才能使这一切正常工作?
答案 0 :(得分:3)
将<sanitizer>
标记直接放在<{1}}之后,如下所示:
<system.web>
使用<system.web>
<sanitizer defaultProvider="HtmlAgilityPackSanitizerProvider">
<providers>
<add name="HtmlAgilityPackSanitizerProvider" type="AjaxControlToolkit.Sanitizer.HtmlAgilityPackSanitizerProvider"></add>
</providers>
</sanitizer>
而不是HtmlAgilityPackSanitizerProvider
Referring to this post“截至2012年6月,不再支持使用AntiXss作为默认清洁剂。从官方声明来看,新版本的AntiXss打破了很多东西。”
同样适用于AntiXssSanitizerProvider
以及<sectionGroup>
之后的第一个标记
<configuration>
这解决了我遇到同样错误的情况。