RadEditor需要在web.config中注册HttpHandler

时间:2013-04-26 07:12:36

标签: asp.net web-config telerik httphandler radeditor

当我将此代码添加到aspx时,

   <telerik:RadEditor ID="REWelcome" runat="server" 
    AutoResizeHeight="True" Width="500px" ToolbarMode="Floating">
   <Content>
   </Content>
   <TrackChangesSettings CanAcceptTrackChanges="False"></TrackChangesSettings>
   </telerik:RadEditor>

我收到此错误消息,

'~/Telerik.Web.UI.WebResource.axd' is missing in web.config.  
 RadScriptManager requires a   
 HttpHandler registration in web.config.

我该如何解决?

8 个答案:

答案 0 :(得分:9)

在你的web.config中 - 将以下内容添加到system.web中(省略system.web,仅用于显示级别:

<system.web>
    <httpHandlers>
        <add verb="*" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource, Telerik.Web.UI" validate="false" />
        <add verb="*" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler, Telerik.Web.UI, Culture=neutral, PublicKeyToken=121fae78165ba3d4"></add>
        <add verb="*" path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler, Telerik.Web.UI, Culture=neutral, PublicKeyToken=121fae78165ba3d4"></add>
    </httpHandlers>

底部两个不需要通常,但我假设你想要编辑器的扩展功能,如对话框和拼写检查。

我还在与system.web

相同的级别添加位置
<location path="Telerik.Web.UI.WebResource.axd">
    <system.web>
        <authorization>
            <allow users="*" />
        </authorization>
    </system.web>
</location>

答案 1 :(得分:2)

您还必须在应用程序的bin文件夹中添加Telerik.Web.UI.dll文件。 这对我有用。

答案 2 :(得分:2)

这些是RadEditor和RadScriptManager所需的处理程序:

<httpHandlers>
      <add path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" validate="false"/>
      <add path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" validate="false"/>
      <add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false"/>
</httpHandlers>

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
    <validation validateIntegratedModeConfiguration="false"/>
    <handlers>
      <add name="Telerik_Web_UI_DialogHandler_aspx" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler"/>
      <add name="Telerik_Web_UI_SpellCheckHandler_axd" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler"/>
      <add name="Telerik_Web_UI_WebResource_axd" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource"/>
    </handlers>
  </system.webServer>

来源:http://www.telerik.com/forums/telerik-web-ui-webresource-axd-is-missing-in-web-config-f25e27e5a5ac

答案 3 :(得分:0)

我在部署到IIS 7时遇到了这个问题。

您可以将托管管道模式从“集成”设置为“经典”。这确实解决了将IIS 7.5作为旧6.0(在旧的web.config节点中注册了处理程序)的问题,但我不相信使用Telerik的控件,我应该使用旧类型的管道。

我们的旧web.config文件仅在IIS 6的旧部分中注册了Telerik的处理程序(并且对于cassini和IIS 6.0来说已经足够了),而不是在新部分中。

所以我必须将这段xml添加到web.config:

<system.webServer>
    <handlers>
        <add name="Telerik.Web.UI.WebResource"  path="Telerik.Web.UI.WebResource.axd" verb="*" type="Telerik.Web.UI.WebResource, Telerik.Web.UI" />
    </handlers>
</system.webServer>

答案 4 :(得分:0)

我通过更改#34; Integrated&#34;的ASP应用程序池来修复它。到#34; Classic&#34;模式。我的所有配置都是正确的,如此处的其他帖子所述。这可能是我的配置特有的,但可能值得一试。

答案 5 :(得分:0)

有关此问题的知识库文章非常详细,包括错误的所有可能原因以及解决方法。请在Error: Web.config registration missing! The Telerik dialogs require a HttpHandler registration in the web.config file进行检查。

最好的解决方案之一是打开web.config文件,并用Telerik.Web.UI.DialogHandler.axd替换Telerik.Web.UI.DialogHandler.aspx

<system.web>
  <httpHandlers>
    <add path="Telerik.Web.UI.DialogHandler.axd" type="Telerik.Web.UI.DialogHandler" verb="*" validate="false"/>
  </httpHandlers>
</system.web>
<system.webServer>
  <validation validateIntegratedModeConfiguration="false"/>
  <handlers>
    <remove name="Telerik_Web_UI_DialogHandler_axd"/>
    <add name="Telerik_Web_UI_DialogHandler_axd" path="Telerik.Web.UI.DialogHandler.axd" type="Telerik.Web.UI.DialogHandler" verb="*" preCondition="integratedMode"/>
  </handlers>
</system.webServer>

然后将RadEditor的DialogHandlerUrl属性设置为“〜/ Telerik.Web.UI.DialogHandler.axd”,即

答案 6 :(得分:-1)

如果错误消息是这样的::

web.config中缺少

〜/ Telerik.Web.UI.WebResource.axd'。 RadScriptManager需要在web.config中注册HttpHandler。请使用控件智能标记自动添加处理程序,或者查看帮助以获取更多信息:控件&gt; RadScriptManager

然后将以下内容添加到web.config文件:::

 <httpRuntime targetFramework="4.5.2" />
    <httpHandlers>
      <add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false" />
    </httpHandlers>

答案 7 :(得分:-1)

今天我将网站的已发布副本从一台服务器复制到另一台服务器时出现此错误。

我认为我不应该修改任何脚本或代码以使其再次运行,毕竟,该网站仍在其旧服务器上工作正常,它仍在托管上。

这就是我认为发生的事情:

  1. 我复制了站点文件,连接了一个站点并在IIS中绑定了它,然后尝试运行它。
  2. 我遇到错误,并被迫修改文件处理程序绑定,应用程序池的.net框架版本,并安装新的服务器角色/功能,以使其至少产生此错误。
  3. 然后我删除了文件夹中的所有内容并重新复制了网站文件,它又重新开始工作了。
  4. IIS必须以某种方式修改我的网站文件,阻止网站正常工作,并恢复原始代码修复它。

    我知道这是一个非常具体的情况,但希望如果其他人在某一天有同样的情况他们可以用我做的同样简单的方式来解决它。