Mis*_*siu 0 javascript asp.net-mvc iis-7.5 asp.net-mvc-4
我构建了一个使用ExtJS的简单ASP MVC4应用程序.
我的主视图链接到我的主employee.js文件:
<script src="app/employee.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
我将我的应用程序发布到本地网络中的服务器.在我的开发机器上,当我访问url http:\\local-iis\holidays应用程序时正确加载并显示.
但是在同一网络中的另外3台计算机上我收到错误,因为浏览器无法找到该js文件.
我的项目结构如下:
--holidays (project name)
+--app
+--myapp.js
+--Controllers
+--Models
+--(rest of ASP folders)
在我的开发机器上,当我访问http:\\local-iis\holidayschrome并且我检查源代码时,我看到了行:
<script src="app/employee.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
在我滚动该条目之后

我看到了正确的道路:
http:\\local-iis\holidays\app\employee.js (I translated urlopy to holidays)
Run Code Online (Sandbox Code Playgroud)
在其他计算机上删除相同页面的源目录名称(holidays)
我尝试清除缓存,安装其他浏览器,切换到其他计算机,但一切都失败了 - 在某些计算机上这是有效的,有些则不然.
我不是要求具体的解决方案,而是要开始使用的东西.
这是我在MVC 4中的第一个项目,我不知道如何配置我的应用程序以使这些网址正常工作.
我不知道为什么我的应用程序正在删除该目录名称(它指的是我的local-iis服务器的root)
我问ExtJS论坛,他们说这可能是IIS或ASP设置问题.
永远不要在ASP.NET MVC应用程序中硬编码URL:
<script src="app/myapp.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
只需使用助手:
<script src="~/app/myapp.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
无论您的应用程序托管在何处,~/app/myapp.js都将正确地通过Url.Content帮助程序,而帮助程序将生成正确的URL.例如,如果您的应用程序在IIS Express中本地托管,它可能如下所示:
<script src="/app/myapp.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
当部署在IIS中的虚拟目录中时,它可能如下所示:
<script src="/holidays/app/myapp.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
帮助者会照顾它.
在Razor v1.0(ASP.NET MVC 3)中,您必须明确使用帮助程序:
<script src="@Url.Content("~/app/myapp.js")" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6590 次 |
| 最近记录: |