gpt4 book ai didi

javascript - 母版页和内容页上的多个 ScriptManager

转载 作者:行者123 更新时间:2023-11-30 17:31:17 24 4
gpt4 key购买 nike

基本上,我有一个母版页和数百个内容页。每个内容页面都包含 ToolKitScriptManager。现在,我想在母版页上添加 ScriptManager,当我尝试执行时,错误显示 “只有一个 ScriptManager 实例可以添加到页面。”

我知道我必须注释/删除每个内容页面上的每个 ToolKitScriptManager 行。但出于某种原因,我不能编辑数百个内容页面只是为了删除那些ToolkitScriptManager 代码。

我想问的是,有什么解决方案可以让我以编程方式从母版页的后台代码中禁用 ToolkitScriptManager(在内容页上),这样我就不必编辑我的数百个内容页了吗?

编辑:

来自这个答案的问题:How to use AJAX in master page when content pages have ScriptManager? ,他可以给出 3 种方式。最后一种方法是不可能的,因为我仍然必须编辑内容页面。但是,我不明白他写的关于第一种和第二种方式的内容。如果我必须用这个包装内容页面的 ToolKitScriptManager:

<asp:ContentPlaceHolder ID="PlaceHolderID" runat="server" >>
</asp:ContentPlaceHolder>

然后母版页的 ScriptManager 将覆盖内容页的 ToolKitScriptManager。如果我错了,请纠正我。如果我是对的,第一种/第二种方式也是不可能的,因为仍然需要编辑内容页面,对吗?

最佳答案

在母版页中,处理 Init 上的脚本管理器,并在每次母版页的脚本管理器加载时从内容页中删除工具包脚本管理器:

母版页 ASPX:

<asp:ScriptManager ID="ScriptManager1" runat="server" OnInit="ScriptManager1_Init"></asp:ScriptManager>

MasterPage 代码隐藏:

protected void ScriptManager1_Init(object sender, EventArgs e)
{
try
{
foreach (Control _ctrl in ContentPlaceHolder1.Controls)
{

if (_ctrl.GetType() == typeof(AjaxControlToolkit.ToolkitScriptManager))
{
ContentPlaceHolder1.Controls.Remove(_ctrl);
break;
};
}
}
catch (Exception ex)
{
}
}

关于javascript - 母版页和内容页上的多个 ScriptManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23033276/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com