2013-03-01 50 views
3

我想从ajaxtoolkit使用htmleditor。我从this link下载工具错误“未在web.config文件中配置消毒剂提供者。”

Ajax控件工具包.NET 3.5

但得到一个错误为“消毒供应商没有在web.config文件中配置。如果您使用的是HtmlEditorExtender与公共网站,那么请配置消毒液供应商。否则,EnableSanitization属性设置为false。

的.aspx

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"> 
    </asp:ToolkitScriptManager> 
    <asp:HtmlEditorExtender ID="HtmlEditorExtender1" runat="server" TargetControlID="txtBox1"> 
    </asp:HtmlEditorExtender> 
    <asp:TextBox runat="server" ID="txtBox1" TextMode="MultiLine" Columns="50" Rows="10" 
     Text="Hello <b>world!</b>" /> 

找遍许多网站..我得到了下面的代码作为一种解决方案在一个web.config 增加,但得到一个错误为“未能加载类型“AjaxControlToolkit.Sanitizer.AntiXssSanitizerProvider”。另外一条线是根据字来消毒

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

AjaxControltoolkit

enter image description here

消毒供应商文件夹

enter image description here

回答

2

变化sanitizer节在web.config中有此线,并尝试:

<sanitizer defaultProvider="HtmlAgilityPackSanitizerProvider"> 
    <providers> 
     <add name="HtmlAgilityPackSanitizerProvider" type="AjaxControlToolkit.Sanitizer.HtmlAgilityPackSanitizerProvider"></add> 
    </providers> 
</sanitizer> 
+0

配置工作正常,ASP .NET 4.0。 – 2013-07-14 00:58:08

0

所有的文件AjaxControlToolkit.Binary.NET40.zip复制到bin文件夹。

这是你在web.config中需要的CONFIGS:

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

.... 

    <system.web> 
    <sanitizer defaultProvider="HtmlAgilityPackSanitizerProvider"> 
     <providers> 
     <add name="HtmlAgilityPackSanitizerProvider" type="AjaxControlToolkit.Sanitizer.HtmlAgilityPackSanitizerProvider"/> 
     </providers> 
    </sanitizer> 

而在你的aspx文件:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="CommunitySafeApp.Start.WebForm1" %> 

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

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 


<asp:ToolkitScriptManager runat="Server" /> 
<asp:TextBox 
     ID="txtComments" 
     TextMode="MultiLine" 
     Columns="60" 
     Rows="8" 
     runat="server" /> 

<asp:HtmlEditorExtender 
     TargetControlID="txtComments" 
     runat="server" /> 

    </div> 

    </form> 
</body> 
</html> 
1

用户需要通过NuGet包管理器进行更新。 因此,所有的问题自动解决。

如下安装在Visual Studio包管理器控制台:

  1. PM>安装,包装AjaxControlToolkit
  2. PM>安装,包AntiXSS
  3. PM>安装,包装AjaxControlToolkit.HtmlEditor.Sanitizer
  4. PM> Install-Package HtmlAgilityPack -Version 1.4。9

添加新节规定:

<configuration> 
     <configSections> 
     <section name="ajaxControlToolkit" type="AjaxControlToolkit.AjaxControlToolkitConfigSection, AjaxControlToolkit" /> 
</configSections>   
.... 
     ... 

    <runtime> 
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 

      <dependentAssembly> 
      <assemblyIdentity name="HtmlAgilityPack" publicKeyToken="bd319b19eaf3b43a" culture="neutral" /> 
      <bindingRedirect oldVersion="0.0.0.0-1.4.9.0" newVersion="1.4.9.0" /> 
      </dependentAssembly> 
     </assemblyBinding> 
     </runtime> 
     <ajaxControlToolkit htmlSanitizer="AjaxControlToolkit.HtmlEditor.Sanitizer.DefaultHtmlSanitizer, AjaxControlToolkit.HtmlEditor.Sanitizer" /> 
    </configuration> 
相关问题