我有一个母版页和30个子页面。在我的母版页中,我正在加载我的29个子页面上需要的原型j。
在第30个子页面上,我有一个加载C3和D3图表的pivottable.js。 PivotTable.js,C3.js,D3.js与prototype.js存在一些冲突,但由于母版页具有原型js参考,它们无法正常工作。
如果我从母版页中删除了prototype.js引用,则数据透视表按预期工作,但其他29个需要原型j的页面无效。 : - (
在第30页的脚本加载之前,有没有办法在30页子页面上从母版页中删除原型引用?
希望得到答复。提前谢谢。
答案 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
}
希望这有帮助。