Could not load type 'AjaxControlToolkit.Saniti

2019-01-09 13:23发布

I tried to use htmleditorextender but I am getting error. below are my settings

<%@ 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>

My web.conf settings are;

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

I have the following dlls in my bin folder;

AntiXSSLibrary.dll
SanitizerProviders.dll
HtmlSanitizationLibrary.dll

But I still get this error;

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

Why I am getting this error?

4条回答
爱情/是我丢掉的垃圾
2楼-- · 2019-01-09 14:05

It's recommended that you download the latest Html Agility Pack from here : http://htmlagilitypack.codeplex.com/ and place in your bin and add reference to it in your project.

Or use the install command :

PM> Install-Package HtmlAgilityPack

you may look at this link http://nuget.org/packages/HtmlAgilityPack

You don't have to use or reference to AntiXSSLibrary just use the HtmlAgilityPackSanitizerProvider and your error will disappear

Good luck

查看更多
女痞
3楼-- · 2019-01-09 14:10

Using AntiXss as the default sanitizer is no longer supported as of June 2012. From the official announcement, apparantely the new version of AntiXss breaks too many things.

To use AjaxControlToolkit with HTML Agility Pack you first need to install the pacakge using Nuget (instruction).

Then you can use HTML Agility Pack as your sanitizer by modifying your web.config like this:

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

Hope this helps.

查看更多
Rolldiameter
4楼-- · 2019-01-09 14:13

HTML Agility Pack must be installed for all new versions of Ajax Control Toolkit. Unfortunetly a lot of answers in the web are wrong

查看更多
仙女界的扛把子
5楼-- · 2019-01-09 14:26

Having searched high and low for the same problem to be solved, I worked out that the Ajax Control Kit also needed to be loaded via the Library Package Manager...

PM > Install-Package AjaxControlToolkit

This solved the problem for me.

查看更多
登录 后发表回答