2

~スクリプトタグでASP.NETの「Webアプリケーションルート」演算子を使用する方法はありますか?そうでない場合、そのような動作を模倣する方法はありますか?

私のアプリケーションは、さまざまなサブディレクトリにネストされたマスターページを使用しています。コンテンツページは、ルートマスターページを使用するディレクトリ固有のマスターページを使用します。ルートマスターページにタグを含めたい<script>ので、コードをあちこちで繰り返すわけではありませんが、特定のコンテンツページのパスの深さが必ずしもわからないため、次のことができます。スクリプトフォルダへのパスを確実に提供しません。

フォームでパスを使用することを検討しました/scripts/jquery.jsが、Visual Studio開発サーバーはサーバールートのサブディレクトリでアプリケーションを起動するため、これはライブサーバーに適切に変換されません。説明する:

<!-- dev server path -->
<script type="text/javascript" src="/my_project/scripts/jquery.js"></script>

<!-- live server path -->
<script type="text/javascript" src="/scripts/jquery.js"></script>

もちろん、あなたは問題を見ることができます。プロジェクトの開発者は私だけではないので、「稼働」プロセスで何が起こるかをほとんど制御できません。/my_projectそれ以外の場合は、「稼働」プロセスで削除するだけの問題である可能性があります。

4

1 に答える 1

2

その上でいくつかの可能性のあるケースがあります。

1)大規模なプロジェクトの場合は、実行中のVS Webではなく、ローカルiis5.1または他のローカルiisを使用します。

2)最初のspashを回避し、相対パスを使用できます...例:

<script type="text/javascript" src="scripts/jquery.js"></script>
<script type="text/javascript" src="../scripts/jquery.js"></script>

だからあなたは彼に最初から始めるように強制しないでください。

3)そこにリテラルコントロールを配置し、毎回正しいパスでPage_Loadにスクリプトタグをレンダリングすることができます

4)そしてあなたはただページ上でsrcをレンダリングすることができます

<script type="text/javascript" src="<%=ResolveUrl("~/scripts/jquery.js")%>" ></script>

私は1と3を使用しています。

于 2010-08-27T08:37:38.000 に答える