hovermenuextender不适用于radscriptmanager

时间:2014-05-01 18:07:29

标签: asp.net ajaxcontroltoolkit

我在VS2010中开发.NET 4.0站点,在IIS7.5环境中运行。

我检查的每个论坛都说我的ASP.NET AJAX Telerik RadControls版本(V.2012.1.411.40)应该与AjaxControlToolkit元素很好地配合。我的工具包版本是4.1.7.1213。

我尝试过使用RadScriptManager,但是当它尝试在我在RadGrid中使用的$create HoverMenuExtender控件(在运行时)时它会爆炸:

<telerik:RadScriptManager ID="RadScriptManager1" runat="server" EnableScriptCombine="false" >
<scripts>
        <%--Needed for JavaScript IntelliSense in VS2010--%>
        <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" />
        <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" />
        <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" />
    </Scripts>
</telerik:RadScriptManager>

RadGrid中的HoverMenuExtender:

<ajaxToolkit:HoverMenuExtender ID="HoverMenuExtender1" runat="server" PopupControlID="popupImage"
                                TargetControlID="thumbnailImage" OffsetX="-10" OffsetY="-310" PopupPosition="Left"
                                PopDelay="100" HoverDelay="50">
                            </ajaxToolkit:HoverMenuExtender>

如果我使用此ToolkitScriptManager,我的HoverMenuExtender控件可以正常工作,但RadControl都没有正确呈现。

<ajaxToolkit:ToolkitScriptManager EnablePartialRendering="true" runat="Server" ID="RadScriptManager1">
    <Scripts>--%>
        <%--Needed for JavaScript IntelliSense in VS2010--%>
        <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" />
        <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" />
        <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" />
    </Scripts>
</ajaxToolkit:ToolkitScriptManager>

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

原来有一些事情需要补充。

1a)您需要使用ToolkitScriptManager,不能使用RadScriptManager。 (这是很好的记录)

1b)在<ToolkitScriptManager>中,您必须添加CombineScripts='false'ScriptMode='Release'。还有很好的记录。

2)这是 NOT 记录良好,并采取了比它应有的更多挖掘(恕我直言):

您需要在web.config中为CombineScriptsHandler.axd的处理程序添加路径。我最终找到了这段代码:

<system.web>
    <httpHandlers>
    <!-- Using CombineCriptsHandler.axd as path of handler -->

    <add verb="*" path="CombineScriptsHandler.axd"

          type="AjaxControlToolkit.CombineScriptsHandler,

           AjaxControlToolkit" />
    </httpHandlers>
</system.web>



<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
   <handlers>

  <!-- Using CombineCriptsHandler as name of handler -->

  <add name="CombineScriptsHandler" verb="*"  

            path="CombineScriptsHandler.axd"

      type="AjaxControlToolkit.CombineScriptsHandler,

     AjaxControlToolkit" />

  </handlers>
</system.webServer>

现在似乎处理了一切。我的网站再次使用RadControls进行渲染。有一种方法可以通过添加AjaxControlToolkit.config文件来专门控制脚本的组合方式。但在我看来,这似乎没有必要。