2011-07-19 5 views
1

これはシナリオです:ASP.NET:<script>タグ(.jsへのリンクを含む)を<head>に(プログラムで)添付する方法

私は、ほぼすべてのWebページのマスターページを使用する新しいASP.NETアプリケーションを作成しています。その中のいくつかは4レベルにネストされています。プロジェクトの規模のために、私はウェブページを様々な深度レベルでフォルダに整理することを余儀なくされました。ルートディレクトリにある大域マスター(大文字)ページには、Webアプリケーション全体で使用されるいくつかの便利なJavascript関数が含まれています。これらの関数を単一の.jsファイルにまとめて、 、まあ、順番に:D。 (現在、マスターページに埋め込まれています)。

私は<頭>ブロックの上に置かれ<スクリプト>タグはASP.NETにはないので、そのパスは、例えば、「〜/スクリプト/ Utils.js」として指定されていないことを、しかし、最近発見されました<スクリプト>タグでこれらのパスを認識しているようです<スクリプト>タグをに挿入するのを避けようとしています。 .jsファイルへの相対パスを指定するサイトのWebページ(これは、最初の場所でマスターページを使用したかった理由です)。

だから、本質的には、このシナリオを与え、私は、私が使用できるように、Webページの<先頭>ブロックに、コードを経由して、挿入の推奨される方法は何だ、<スクリプト>タグをお聞きしたいです            Something.Something(何か、Page.ResolveURL( "〜/スクリプト/ Utils.js"))のような.jsファイルへのリンクを指定して、何か。グローバルマスターページで            、それは関係なく、彼らが内部にあるか、ディレクトリ、アプリケーションのすべてのWebページ上の右のパスに解決されていないのだろうか?

これは正しいアプローチではないのですか、私は完全に別のものを使用するべきですか?

答えて

3

あなたはClientScriptManagerを使用することができます:最初の引数はスクリプトファイルを表す一意のキーである

Page.ClientScript.RegisterClientScriptInclude("MyScript", ResolveUrl("~/Scripts/MyScript.js")); 

、これは同じキーで登録され、その後のスクリプトを停止することです。例えば。同じことを行い、複数回実行できる共有コードがあるかもしれないので、キーを指定することで、スクリプトが一度だけ登録されるようになります。

+0

魅力的な作品です。どうもありがとうございます!あなたは、

関連する問題