5

我尝试使用 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>

我的 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>

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

AntiXSSLibrary.dll
SanitizerProviders.dll
HtmlSanitizationLibrary.dll

但我仍然收到此错误;

Could not load type 'AjaxControlToolkit.Sanitizer.AntiXssSanitizerProvider'.

为什么我收到此错误?

4

4 回答 4

14

自 2012 年 6 月起,不再支持AntiXss其用作默认消毒剂。从官方公告来看,显然新版本破坏了太多东西。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>

希望这可以帮助。

于 2012-08-20T13:24:11.357 回答
2

必须为所有新版本的 Ajax Control Toolkit 安装HTML Agility Pack 。不幸的是,网络上的很多答案都是错误的

于 2012-12-09T14:56:07.033 回答
1

在高低搜索相同的问题要解决后,我发现 Ajax Control Kit 也需要通过 Library Package Manager 加载......

PM >安装包 AjaxControlToolkit

这为我解决了这个问题。

于 2012-12-06T09:23:54.650 回答
0

建议您从此处下载最新的 Html Agility Pack:http: //htmlagilitypack.codeplex.com/并放入您的 bin 并在您的项目中添加对它的引用。

或者使用安装命令:

PM> Install-Package HtmlAgilityPack

您可以查看此链接http://nuget.org/packages/HtmlAgilityPack

您不必使用或引用 AntiXSSLibrary,只需使用 HtmlAgilityPackSanitizerProvider,您的错误就会消失

祝你好运

于 2013-01-25T05:44:08.590 回答