2013-03-01 59 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> 
相關問題