私はデフォルトのASP.net MVCプロジェクトを作成しました。マスターページでは、私はトップasp.net MVCにjsファイルを含める方法とすべてのルートで有効なパスを持っている
<head runat="server">
<title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
</head>
で次のように持っている私は、JavaScriptのファイルを追加する必要がありますし、ページにソリューションエクスプローラからファイルをドラッグすることで、次のように行を追加しました:
<head runat="server">
<title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
</head>
私は、サイトにアクセスし、私はこれを見ブラウザからHTMLを見て:
<head><title>
Index
</title><link href="Content/Site.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
</head>
相対パスが固定されたCSSファイルが、JSファイルではありません。サイトは、開発ボックスにあるルートとは別のサーバー上のフォルダに展開されます。
これを行う適切な方法はありますか?
これは、〜がサイトのルートへのパスに置き換えられるため、サイトをサブディレクトリにインストールする際の問題を修正します。 しかし、ルートに到達すると、jsファイルはルートの下のScriptsフォルダにあり、../../Scriptsは残っていないという問題があります。 MVCは異なるサブフォルダにルーティングするので、スクリプトはすべてのルートから常に利用可能ではありません。 少なくとも私はルートとの相対パスをハードコードする方法があるので、私はあなたに+1を与えました。しかし、誰かがJSのためではなく、箱の中でCSSのためになぜ機能するのかを説明できるかどうかを待つつもりです。 – jvanderh
私は問題がCSS対Javaスクリプトではないと思うが、あなたのcssはあなたのconetneフォルダの中にあり、あなたのスクリプトではないと思う。 – Lewis