2017-01-07 73 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 
} 

希望這有助於。