Adicionando jQuery incluem a um DotNetNuke 4,8 pele não faz nada
-
22-08-2019 - |
Pergunta
Eu estou tentando incluir JQuery na minha pele DotNetNuke adicionando estas duas linhas de código na parte superior da minha pele 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)
%>
Infelizmente, quando eu ver fonte na minha página, eu não vejo as jquery.min.js tag referenciando apropriadas em qualquer lugar. É DotNetNuke alguma forma expulsando os meus pedidos para adicionar script para minhas páginas aqui? o que estou perdendo? Eu sou um pouco de um novato DNN.
Solução
suspiro. A solução é certificar-se de colocá-lo no método Page_Load (), e não o próprio código de renderização de páginas. Acho que eu era tarde demais no ciclo de vida página para fazer o que eu queria fazer.
<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>
Outras dicas
Qual versão do DNN você está usando? O DNN não suporta incluindo jQuery, a menos que você está usando DNN versão 5. Veja aqui para mais informações
Você pode executar em problemas de fazê-lo desta forma, dependendo de qual versão do seu código vai ser alvo, e se ou não o seu módulo será utilizado várias vezes na mesma página.
Eu desenvolvi um conjunto de métodos para melhor lidar com isso, que são a versão independente, para que possa fazer uma única chamada linha como esta:
InjectjQueryLibary(this.Page, false, false, false);
Os valores booleanos são 'incluem jQuery UI', 'use versão descompactada' e 'incluem noConflict ()'.
O código completo listando disponível neste blog: incluindo jQuery em um módulo DotNetNuke com código independente versão