从子页面的 MASTER 页面中删除 JS SCRIPT

Remove JS SCRIPT from MASTER page in child pages

我有一个母版页和 30 个子页。在我的母版页中,我正在加载我的 29 个子页面所需的原型 js。

在第 30 个子页面上,我有 pivottable.js 加载 C3 和 D3 图表。 PivotTable.js、C3.js、D3.js 与 prototype.js 存在一些冲突,并且它们无法正常工作,因为母版页具有原型 js 引用。

如果我从母版页中删除了 prototype.js 引用,pivot table 会按预期工作,但其他 29 个需要原型 js 的页面无法工作。 :-(

有没有办法在第 30 页的脚本加载之前从第 30 个子页的母版页中删除原型引用?

希望得到答复。提前致谢。

将您的 JavaScript 文件放入母版页中的 ContentPlaceHolder 中,如下所示。

//SCRIPTS THAT CAN LOAD ON ALL PAGES
<script type="text/javascript" src="..."></script>

<asp:ContentPlaceHolder runat="server" ID="critical_js_files">
    //SCRIPTS THAT YOU DO NOT LOAD ON SOME CHILD PAGES
    <script type="text/javascript" src="..."></script>        
</asp:ContentPlaceHolder>

在后面的母版页代码中,添加这个方法:

public void DisableCriticalJavaScriptFiles()
{
    critical_js_files.Visible = false;
}

最后,在第 30 个子页面或任何您不想加载这些 js 文件的页面的 Page_Load 方法中添加以下代码:

protected void Page_Load(object sender, EventArgs e)
{
    Master.DisableCriticalJavaScriptFiles();
    //REST OF THE PAGE_LOAD CODE
}

希望对您有所帮助。