我已经读了一段时间了,但这是我第一次发帖(第一次找不到我要找的答案)
这是我的设置:
母版页:
<%@ 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/>
当我运行此页面时,手风琴会正确显示,正确绑定数据,并展开第一个窗格。问题是,我无法展开/折叠窗格。似乎与此控件关联的javascript未正确运行。如果我使用ToolkitScriptManager替换母版页中的ScriptManager,问题就解决了;但我不想这样做,因为我有其他需要ScriptManager的页面。 我读到ScriptManager应该足以运行asp ajax控件,那么为什么它在这种情况下不起作用呢?
答案 0 :(得分:0)
如果您对某些页面使用一个ScriptManager,而对另一个页面使用ToolKitScriptManager,则可以在所有页面上使用相同的母版页,并在不同的页面上使用不同的ScriptManager。
此答案详述了一些方法,一种方法将禁用PageLoad上的Master.ShowScriptManager = false;
。
Disable ScriptManager on certain pages
另一个建议为不同的ContentPlaceHolders使用不同的ScriptManagers,这也可以。
希望这有帮助!