无法加载类型'AjaxControlToolkit.Sanitizer.AntiXssSanitizerProvider'.

Dot*_*mer 5 c# asp.net webforms ajaxcontroltoolkit

我试图使用htmleditorextender,但我收到错误.以下是我的设置

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

<asp:TextBox runat="server" ID="textBoxGalleryUrl" CssClass="cstmtxtclr" />
<asp:HtmlEditorExtender ID="HtmlEditorExtender1" runat="server" TargetControlID="textBoxGalleryUrl"></asp:HtmlEditorExtender>
Run Code Online (Sandbox Code Playgroud)

我的web.conf设置是;

  <configSections>
    <sectionGroup name="system.web">
      <section name="sanitizer"
          requirePermission="false"
          type="AjaxControlToolkit.Sanitizer.ProviderSanitizerSection, AjaxControlToolkit"/>
    </sectionGroup>
  </configSections>

  <system.web>
    <!--<httpRuntime requestValidationMode="2.0"/>-->
    <compilation debug="true" targetFramework="4.0"/>

    <sanitizer defaultProvider="AntiXssSanitizerProvider">
      <providers>
        <add name="AntiXssSanitizerProvider"
              type="AjaxControlToolkit.Sanitizer.AntiXssSanitizerProvider"></add>
      </providers>
    </sanitizer>
  </system.web>
Run Code Online (Sandbox Code Playgroud)

我的bin文件夹中有以下dll;

AntiXSSLibrary.dll
SanitizerProviders.dll
HtmlSanitizationLibrary.dll
Run Code Online (Sandbox Code Playgroud)

但我仍然得到这个错误;

Could not load type 'AjaxControlToolkit.Sanitizer.AntiXssSanitizerProvider'.
Run Code Online (Sandbox Code Playgroud)

为什么我收到此错误?

ber*_*zie 14

AntiXss截至2012年6月,不再支持使用默认的消毒剂.从官方公告中可以看出,新版本AntiXss中断的东西太多了.

要使用AjaxControlToolkit,HTML Agility Pack首先需要使用Nuget(指令)安装pacakge .

然后你可以HTML Agility Pack通过修改你的web.config这个来用作你的消毒剂:

<configuration>
    <configSections>
        <sectionGroup name="system.web">
            <section name="sanitizer" requirePermission="false"
                     type="AjaxControlToolkit.Sanitizer.ProviderSanitizerSection, AjaxControlToolkit" />
        </sectionGroup>
    </configSections>

    <system.web>
        <sanitizer defaultProvider="HtmlAgilityPackSanitizerProvider">
            <providers>
                <add name="HtmlAgilityPackSanitizerProvider" type="AjaxControlToolkit.Sanitizer.HtmlAgilityPackSanitizerProvider"></add>
            </providers>
        </sanitizer>
      </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.