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

goo*_*now 1 asp.net prototypejs d3.js pivottable.js c3.js

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

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

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

在加载第30个页面上的脚本之前,有什么方法可以单独从第30个子页面上的母版页中删除原型引用吗?

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

Moh*_*eeq 6

将您的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>
Run Code Online (Sandbox Code Playgroud)

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

public void DisableCriticalJavaScriptFiles()
{
    critical_js_files.Visible = false;
}
Run Code Online (Sandbox Code Playgroud)

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

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

希望这可以帮助。