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

时间:2017-01-07 10:08:45

标签: asp.net d3.js prototypejs c3.js pivottable.js

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

在第30个子页面上,我有一个加载C3和D3图表的pivottable.js。 PivotTable.js,C3.js,D3.js与prototype.js存在一些冲突,但由于母版页具有原型js参考,它们无法正常工作。

如果我从母版页中删除了prototype.js引用,则数据透视表按预期工作,但其他29个需要原型j的页面无效。 : - (

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

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

1 个答案:

答案 0 :(得分:5)

将您的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
}

希望这有帮助。