【问题标题】:only one instance of a scriptmanager can be added to the page Ajax + Telerik只有一个 scriptmanager 实例可以添加到页面 Ajax + Telerik
【发布时间】:2012-01-14 07:44:17
【问题描述】:

我正在尝试使用 Ajax 手风琴和 Telerik RadScriptmanager 来拥有 AJAX 动态手风琴和拖放控制。这就是我的 .aspx 中的内容,但我无法弄清楚如何使用这两个脚本管理器。谢谢!

<td width="29%" height="135">
    <ajaxToolKit:ToolkitScriptManager ID="ToolkitScriptManager2" runat="Server" />
<Scripts>
            <ajaxToolkit:Accordion ID="NavigateAccordion" runat="server" 
                                       HeaderCssClass="accordionHeader" 
                                       ContentCssClass="accordionContent" 
                                       FadeTransitions="true" 
                                       SuppressHeaderPostbacks = "true" 
                                       AutoSize="None"
                                       Width="220">
                                            </ajaxToolkit:Accordion>
</td>
<td width="71%">
    &nbsp;</td>


                            <form id="form2" runat="server">
<telerik:RadScriptManager ID="ScriptManager1" runat="server">

        <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>
<telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" DecoratedControls="Buttons" />

【问题讨论】:

    标签: asp.net ajax telerik scriptmanager


    【解决方案1】:

    您不能同时使用两个脚本管理器;因为两者都继承自System.Web.UI.ScriptManager,并且ScriptManager 只需要一个自身实例(内部定义),所以这种情况永远不会起作用。使用其中一种。你不需要ToolkitScriptManager 来让 AJAX 控制工具包工作;但是,脚本管理器必须位于页面顶部,在其他 AJAX 控件之前。

    【讨论】:

      【解决方案2】:

      您的页面中只需要 1 个脚本管理器(很可能在母版页中)。

      然后您想使用内置的 ASP.NET Script Mananger 代理类从 Web 表单页面与其对话。

      编辑:关于您的评论,我会考虑尝试移动

      <Scripts>
      ...
      </Scripts>
      

      进入ajax工具包脚本管理器。

      更多关于这些方面:

      <ajaxToolKit:ToolkitScriptManager ID="ToolkitScriptManager2" runat="Server">
          <Scripts>
            <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>
      

      并删除 RadScriptManager 的使用

      【讨论】:

      • 对我来说完全是希腊语,我也没有使用母版页,telerik 脚本管理器和 ajax 脚本管理器之间没有区别吗?
      • 我可能没有正确得到你的答案,请看我的编辑,我所做的没有编译。谢谢!
      猜你喜欢
      • 2012-06-24
      • 2017-09-04
      • 1970-01-01
      • 2013-01-07
      • 1970-01-01
      相关资源
      最近更新 更多