无法创建类型为#AjaxControlToolkit.Sanitizer.SanitizerProvider'的对象。

时间:2014-07-21 07:57:52

标签: c# asp.net html-agility-pack htmleditorextender

我想使用最新的ajaxToolkit中的HtmlEditorExtender。 我已经安装了它并在web.config

中正确配置了它
<configSections>
    <sectionGroup name="system.web">
      <section name="sanitizer" requirePermission="false" type="AjaxControlToolkit.Sanitizer.ProviderSanitizerSection, AjaxControlToolkit" />
    </sectionGroup>  
</configSections>  

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

我无法编译解决方案。如果我在htmlEditorExtender中使用sanitizer-attribute提供程序,则会出现以下错误:SanitizerProvider =“HtmlAgilityPackSanitizerProvider”

  

错误消息:无法创建类型的对象   来自其字符串的'AjaxControlToolkit.Sanitizer.SanitizerProvider'   代表'HtmlAgilityPackSanitizerProvider'为   'SanitizerProvider'财产。

如果我不使用此属性,我可以编译它但不能在相关文本框中输入<br>,因为卫生设施会将其删除。

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

我的HtmlEditorExtender遇到了类似的问题,需要很长时间才能让它正常工作,但这就是我的看法:

首先我使用了错误的ajax控件版本,所以我从这里下载了最新版本4.5 https://ajaxcontroltoolkit.codeplex.com/releases/view/116091

然后我将ajaxcontroltoolkit.dll和HtmlAgilityPack.dll添加到我的参考资料中(顺便说一句,我使用的是visual studio 2010)

并将以下代码行添加到我的网络配置中:

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

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

看起来好像我们有相同的web配置属性,但我的问题是我有一个旧版本的工具包,并且有敏捷包的问题以及ajax网站告诉我将其添加到web配置的方式不是工作,所以我得到了很多谷歌搜索后可以找到的最新版本,并将这些添加到我的网络配置,它工作,让我知道这是否有效