添加jquery包括到DotNetNuke 4.8皮肤什么都不做

时间:2008-12-19 03:59:52

标签: javascript jquery dotnetnuke skinning

我试图通过在我的DNN皮肤顶部添加这两行代码来将JQuery包含在我的DotNetNuke皮肤中:

<%                              
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) 
%>

可悲的是,当我在我的页面上查看源代码时,我看不到任何地方引用jquery.min.js的相应标记。 DotNetNuke是否以某种方式刷新了我在此处向我的页面添加脚本的请求?我错过了什么?我有点像DNN的新手。

3 个答案:

答案 0 :(得分:1)

叹息。解决方案是确保将其放在Page_Load()方法中,而不是页面呈现代码本身。我想我在页面生命周期中为时已晚,无法做我想做的事。

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

答案 1 :(得分:0)

您使用的DNN版本是什么? DNN不支持包含jQuery,除非您使用的是DNN版本5. See here for more information

答案 2 :(得分:0)

您可以通过这种方式遇到问题,具体取决于您的代码所针对的版本,以及您的模块是否会在一个页面上多次使用。

我开发了一套方法来更好地处理这个问题,这些方法与版本无关,因此您可以像这样进行单行调用:

InjectjQueryLibary(this.Page, false, false, false); 

布尔值为'include jQuery UI','use uncompressed version'和'include noConflict()'。

完整的代码清单可在此博文中找到:Including jQuery in a DotNetNuke Module with Version Independent Code