2012-04-06 43 views
0

複数のフォルダにあるページを含むasp.netアプリケーションがあります。私はホームページ上だときさて、スクリプトは細かいロードasp.netアプリケーションのルートパスを設定する方法

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

:私は1つ、「JS」フォルダ内にも、私の.jsファイルを持っているし、私のようなマスターページの頭の中で自分の参照を追加しました。私は(例えば物理学)別のフォルダに存在するいくつかの他のページの午前ときしかし、パスが付加されますので、私はエラーを取得する:

Failed to load resource: the server responded with a status of 404 (Not Found)

同様の事がまた私のイメージのパスと<a>タグのために起こっています。

は今、私のようなルートパス何かに対するパスを与えたい:

~/JS/VerticalMenu.js 

しかし、これ~は自分のアプリケーションのルートに私を取っていません。 ~がどこにつながるべきかを設定する必要はありますか?そしてもしそうなら、どこでどのように?

+0

ます。は次のようにJS' 'の前にスラッシュを使用してみてくださいです:' <スクリプトタイプ= "text/javascript" src = "/ JS/VerticalMenu.js"> ' – mshsayem

答えて

1

はこれを試してみてください:

<script type="text/javascript" 
    src="<%=Page.ResolveUrl("~/JS/VerticalMenu.js")%>"></script> 
+0

オブジェクト[オブジェクトDOMWindow]にはメソッド 'addEvent'がありません。 –

+0

Javascriptファイルに問題があると思われます。これはおそらく別の質問になります。 –

0

それがASP.NETアプリケーションの場合は、パス~/を付けることによってルートにアクセスすることができます。

<script src="~/common/scripts/safeguard.common.js" type="text/javascript"></script> 

あなたはまた、単に/でパスを前に付けてみてくださいすることができます

<script src="/common/scripts/safeguard.common.js" type="text/javascript"></script> 
+0

アプリケーションがhttp:// www.mysite.com/MyApp /のような仮想フォルダ内にある場合は動作しません。 –

+0

'〜/'は仮想ディレクトリ内にあっても、アプリケーションのルートに解決されるはずです。 –

+1

〜/が動作していません。パスは次のように追加されます:http:// localhost:50089/Tutorial_Pages/Physics /〜/ JS/VerticalMenu.js –

5

@Charlie Kilianの回答は実行可能な解決策ですただし、ページ内のすべての相対URLのベースURLを、base tagというHTMLページの先頭に指定することもできます。

<head> 
    <base href="http://www.yourdomain.com/anyvirtualdirectory/" /> 
</head> 
+0

+1:これがうまくいくなら、素晴らしい解決策です。 –

+0

私は ''タグについて忘れてしまいました。それも良い解決策です。 –

関連する問題