我有一个MVC应用程序。这是基本的设置,其中我做了以下更改About.cshtml:当部署为虚拟目录时,MVC站点extenal脚本不起作用
@{
ViewBag.Title = "About Us";
}
<script [email protected]("~/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中将其设置为一个网站,并按预期工作。当点击About时,弹出消息并且网站 的地址为http://localhost:xx/Home/About
然后我尝试将它设置为虚拟目录。
当点击关于没有消息弹出。 它所在的URL是:http://localhost:xx/Practise/Home/About
其中practice是虚拟目录的名称。
那么,为什么消息不会出现?
现在不能再找到该文件,现在url包含虚拟目录名称?
如果需要将其作为虚拟目录托管,那么解决此问题的最佳方法是什么?
检查HTML源代码以查看正在加载.js文件的位置,看看您是否可以在浏览器中打开它。尝试更改其URL到/Practise/Scripts/test.js – Daveo 2012-07-24 21:45:35