1

DNN スキンの上部に次の 2 行のコードを追加して、DotNetNuke スキンに JQuery を含めようとしています。

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

コードが対象とするバージョン、およびモジュールが 1 つのページで複数回使用されるかどうかによっては、この方法で問題が発生する可能性があります。

これをより適切に処理するための一連のメソッドを開発しました。これらはバージョンに依存しないため、次のような単一行の呼び出しを行うことができます。

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

ブール値は、'include jQuery UI'、'use uncompressed version'、'include noConflict()' です。

完全なコード リストは、次のブログ投稿で入手できます:バージョンに依存しないコードを使用した DotNetNuke モジュールに jQuery を含める

于 2009-10-25T05:50:25.873 に答える
0

どのバージョンの DNN を使用していますか? DNN バージョン 5 を使用していない限り、DNN は jQuery のインクルードをサポートしていません。 詳細については、こちらを参照してください。

于 2008-12-19T05:26:59.247 に答える