2017-01-07 5 views
0

J'ai un master page et 30 pages enfants. Dans ma page maître, je charge le prototype js qui est nécessaire sur mes 29 pages enfants.Supprimer JS SCRIPT de la page MASTER dans les pages enfants

Sur la page du 30ème enfant, j'ai le fichier pivottable.js qui charge les cartes C3 et D3. PivotTable.js, C3.js, D3.js ont des conflits avec prototype.js et ils ne fonctionnent pas puisque la page maître a une référence prototype js.

Si j'ai supprimé la référence prototype.js de la page principale, la table pivotante fonctionne comme prévu, mais les 29 autres pages qui nécessitent le prototype j ne fonctionnent pas. :-(

Est-il possible de supprimer la référence prototype de la page principale à la page des enfants 30 seul avant que les scripts sur les charges de page 30e?

Espérant une réponse. Merci à l'avance.

Répondre

3

Mettez votre JavaScript fichiers à l'intérieur. ContentPlaceHolder comme ci-dessous dans votre page maître

//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> 

dans le code de la page principale derrière, ajoutez cette méthode:

public void DisableCriticalJavaScriptFiles() 
{ 
    critical_js_files.Visible = false; 
} 

Enfin, ajoutez le code ci-dessous dans votre méthode Page_Load dans votre page enfant 30 ou une page où vous ne voulez pas charger ces fichiers js:

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

Hope this helps.