ASP.NET Ajax Accordion Control 无法与 ScriptManager 正常工作

标签 asp.net ajax ajaxcontroltoolkit scriptmanager

我已经阅读 SO 一段时间了,但这是我第一次发布问题(第一次我找不到我正在寻找的答案)

这是我的设置:

母版页:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Master.master.cs" Inherits="VatechWebsite.Master" %>
<html>
<head>...</head>
<body>

    <form>
        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
        ...
        <asp:ContentPlaceHolder ID="content" runat="server">
        </asp:ContentPlaceHolder>
    </form>
</body>
</html>

内容页面:

<%@ Page Title="" Language="C#" MasterPageFile="~/Master.Master" AutoEventWireup="true" CodeBehind="Brand.aspx.cs" Inherits="VatechWebsite.Brand1" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

<asp:Content ID="Content2" ContentPlaceHolderID="content" runat="server">
    <asp:Accordion ID="CategoriesAccordion" runat="server"  HeaderCssClass="AccordionHeader">
            <HeaderTemplate><%# DataBinder.Eval(Container.DataItem, "CategoryName") %></HeaderTemplate>
            <ContentTemplate>
                <div id="ProductList">Some text<br />supposed to be very large <br/></div>
            </ContentTemplate>
        </asp:Accordion>
<asp:Content/>

当我运行此页面时, Accordion 显示正确,正确绑定(bind)数据,并且扩展了第一个 Pane 。问题是,我无法展开/折叠 Pane 。与此控件关联的 JavaScript 似乎未正确运行。如果我用 ToolkitScriptManager 替换母版页中的 ScriptManager,问题就解决了;但我不想这样做,因为我还有其他页面需要 ScriptManager。 我读到 ScriptManager 应该足以运行 asp ajax 控件,那么为什么它在这种情况下不起作用呢?

最佳答案

如果您在某些页面上使用一个 ScriptManager,而在另一个页面上使用 ToolKitScriptManager,则可以通过多种方法在所有页面上使用相同的母版页,并在不同页面上使用不同的 ScriptManager。

此答案详细介绍了几种方法,其中一种方法将在 PageLoad 上禁用 Master.ShowScriptManager = false;

Disable ScriptManager on certain pages

另一个建议为不同的 ContentPlaceHolders 设置不同的 ScriptManager,这也有效。

希望这有帮助!

关于ASP.NET Ajax Accordion Control 无法与 ScriptManager 正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19125966/

相关文章:

asp.net - 从 ASP.NET WebService 返回的 JSON 不合适

c# - 在 Signalr 2.0 自托管中使用依赖注入(inject)?

javascript - 将 Ajax 与 Google Analytics 结合使用

asp.net - Ajax 日历扩展器在底部被切断

asp.net - 调整 ajax asp Accordion 尺寸

asp.net - 使用新的 "System.Text.Json"类(Asp.net core 3.0 preview 8)序列化 System.Data.DataTable 的异常

c# - 静态属性/函数的性能

javascript - XMLHttpRequest;跨源请求仅支持协议(protocol)方案 : http, data, chrome, chrome-extension, https, chrome-extension-resource

javascript - [RAILS][Javascript] 在 javascript 中使用 Controller 变量是 "clean"吗?

javascript - AjaxFileUpload 添加 OnClientUploadCompleteAll 破坏布局