MVC アプリケーションがあります。About.cshtml に次の変更を加えたのは、基本的なセットアップです。
@{
ViewBag.Title = "About Us";
}
<script src=@Url.Content("~/Scripts/test.js") type="text/javascript"></script>
<h2>About</h2>
<p>
Put content here.
</p>
そのため、外部スクリプトへの参照を追加しました。
スクリプト自体には次のものが含まれます。
$(document).ready(function () {
$.post('/Home/GetResult', null, function (data) {
alert(data);
});
});
ホームコントローラーで呼び出されるメソッドは次のとおりです。
public int GetResult()
{
return 3;
}
したがって、ユーザーがクリックして GetResult メソッドが呼び出され、3 を含むアラートがポップアップする基本的な設定です。
そこで、IIS でこれを Web サイトとして設定したところ、期待どおりに動作しました。[About] をクリックすると、メッセージがポップアップ表示され、ウェブサイトにアドレスが表示されますhttp://localhost:xx/Home/About
次に、仮想ディレクトリとして設定してみました。
[バージョン情報] をクリックしても、メッセージは表示されません。どこに行くかの URL は次のとおりです。http://localhost:xx/Practise/Home/About
ここで、practice は仮想ディレクトリの名前です。
では、なぜメッセージが表示されないのでしょうか。
URL に仮想ディレクトリ名が含まれているため、ファイルを見つけることができなくなりましたか?
仮想ディレクトリとしてホストする必要がある場合、これを修正する最善の方法は何ですか?