1

我试图通过在我的 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 新手。

4

3 回答 3

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>
于 2008-12-20T12:48:14.513 回答
0

你使用的是什么版本的 DNN?除非您使用的是 DNN 版本 5,否则 DNN 不支持包含 jQuery。 有关更多信息,请参见此处

于 2008-12-19T05:26:59.247 回答
0

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

我开发了一组方法来更好地处理这个问题,它们是版本独立的,所以你可以像这样进行单行调用:

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

布尔值是 'include jQuery UI'、'use uncompressed version' 和 'include noConflict()'。

完整的代码清单可在此博客文章中找到:在 DotNetNuke 模块中包含 jQuery,并带有版本无关代码

于 2009-10-25T05:50:25.873 回答