我有一个 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 中将它设置为网站,它按预期工作。单击“关于”时,会弹出消息,并且该网站有地址http://localhost:xx/Home/About
然后我尝试将其设置为虚拟目录。
单击关于时,不会弹出任何消息。它所在的 url 是:http://localhost:xx/Practise/Home/About
其中 practice 是虚拟目录的名称。
那么为什么消息没有出现呢?
既然 url 包含虚拟目录名称,它就不能再找到文件了吗?
如果需要将其托管为虚拟目录,解决此问题的最佳方法是什么?