2008-12-19 38 views
1

我想包括JQuery的在我的DotNetNuke的皮肤:添加jQuery的包括对DotNetNuke的4.8通过皮肤在我的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) 
%> 

可悲的是,当我在我的页面上查看源代码,我没有看到任何地方引用jquery.min.js的适当标记。是DotNetNuke以某种方式清理我的请求添加脚本到我的网页在这里?我错过了什么?我是DNN的新手。

回答

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

您可能会遇到这样做的问题,这取决于您的代码将针对哪个版本,以及您的模块是否在一个页面上多次使用。

我制定了一套方法,以更好地处理这个问题,这是独立于版本,这样就可以使单行调用是这样的:

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

布尔值“包括jQuery UI的”,“使用未压缩版本“和”包含noConflict()“。

完整的代码列表可以从这篇博客文章:Including jQuery in a DotNetNuke Module with Version Independent Code