Ajout jquery comprennent une peau DotNetNuke 4.8 ne fait rien
-
22-08-2019 - |
Question
Je suis en train d'inclure JQuery dans ma peau DotNetNuke en ajoutant ces deux lignes de code en haut de ma peau DNN:
<%
Page.ClientScript.RegisterClientScriptInclude("jquery", "http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js")
Page.ClientScript.RegisterStartupScript(Me.GetType(), "jQueryNoConflict", "jQuery.noConflict()", True)
%>
Malheureusement, quand je vois la source sur ma page, je ne vois pas les partout jquery.min.js référencement balise appropriée. DotNetNuke est en quelque sorte débusquer mes demandes d'ajouter un script à mes pages ici? Qu'est-ce que je rate? Je suis un peu d'un débutant DNN.
La solution
Soupir. La solution est de vous assurer que vous mettez dans la méthode Page_Load (), et non le code de rendu de page elle-même. Je suppose que j'étais trop tard dans le cycle de vie de la page pour faire ce que je voulais faire.
<script runat="server">
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Page.ClientScript.RegisterClientScriptInclude("jquery", "http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js")
Page.ClientScript.RegisterStartupScript(Me.GetType(), "jQueryNoConflict", "jQuery.noConflict();", True)
End Sub
</script>
Autres conseils
Quelle version de DNN utilisez-vous? DNN ne prend pas en charge, y compris jQuery, sauf si vous utilisez la version DNN 5. Voir ici pour plus d'informations
Vous pouvez rencontrer des problèmes le faire de cette façon, selon la version de votre code ciblera, et si votre module sera utilisé plusieurs fois sur une page.
J'ai développé un ensemble de méthodes pour mieux gérer ce qui est la version indépendante, vous pouvez donc faire un seul appel de ligne comme ceci:
InjectjQueryLibary(this.Page, false, false, false);
Les valeurs booléennes sont 'incluent jQuery UI', 'utiliser la version non compressée' et «inclure noConflict ().
Le code complet liste est disponible à ce blog: Y compris jQuery dans un module DotNetNuke avec la version du code indépendant