0

jsフォルダーであるjavascriptファイルへの参照を含むマスターページがあります。File と masterpage の両方がルート ディレクトリにあります。

私のフォームの多くは別のフォルダーにあります

  Root>first>abc.aspx
  Root>second>def.aspx
  Root>second>anotherFolder>def.aspx

私はこのように参照を保管しました

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

私も試しsrc="<%= Page.ResolveUrl("~/js/Check.js") %>"てみsrc="~/js/Check.js"ました。使用中Page.ResolveUrlに、Server.ResolveUrlページにエラーが表示されます。

任意のディレクトリ内の任意のフォームがファイルの参照を取得するために必要なこと。私はやりたくない../../../、あらゆる形で。

4

2 に答える 2

4
<script type="text/javascript" src="/js/Check.js"></script>

「/」を使用できます --> Web サイトのルート

于 2013-05-15T12:12:31.253 に答える
1

デバッグ用に Visual Studio の内部サーバーを実行している場合は、最初に使用を主張する仮想フォルダーを削除します。

これを行うには、VS ソリューション エクスプローラーでサイトのルートを選択し、右クリックして [プロパティ ウィンドウ] を選択します。プロパティで、「仮想パス」を「AppName」から「AppName」に変更します。/

この仮想パスは、あらゆる種類のパスで大混乱を引き起こします.VSでこの変更を行わないと、すべてのパスが機能するようになったときに、サイトをライブサーバーに配置すると機能しません。仮想サイトを使用していません。

次に、src<script type="text/javascript" src="/js/Check.js"></script>のルートを使用して、JS 参照を - に設定します。/

アップデート

本当に仮想フォルダーを保持したい場合は、これを試すことができます-次を使用しResolveClientUrl()ます:

まず、Runat="Server"あなたの<head>

<head runat="server" id="myhead">

<script type="text/javascript" src='<%=ResolveClientUrl("~/js/check.js") %>' />
于 2013-05-15T12:23:22.697 に答える