Ajax htmlEditorExtender - 无法识别的元素清理程序

时间:2013-04-05 11:55:32

标签: asp.net ajax vb.net web-config

您好我从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。

是否有一些我缺少或需要做的事情才能使这一切正常工作?

1 个答案:

答案 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>

这解决了我遇到同样错误的情况。