2017-01-07 40 views
0

我有一个母版页和30个子页面。在我的母版页中,我加载了29个子页面上需要的原型js。从子页面的MASTER页面中删除JS SCRIPT

在第30页的子页面上,我使用了加载C3和D3图表的pivottable.js。 PivotTable.js,C3.js,D3.js与prototype.js有一些冲突,并且由于母版页有原型js引用,所以它们不工作。

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

有什么办法第30页加载脚本之前可以移除从孩子30页的母版页原型参考?

希望能回复。在此先感谢。

回答

3

把你的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; 
} 

最后,添加下面的代码在你的Page_Load方法在30子页面或任何页面,您不希望加载的js文件:

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

希望这有助于。