在ASP.NET MVC项目发布过程中,我们可以选择IIS添加网站或在某个网站下添加应用程序两种方式进行项目的部署发布。
但是我们在开发过程中,一些大型项目涉及多个子系统,并且集成单点统一登录的话,如果我们添加多个网站,会使用到很多的端口,一旦遇到一些政务系统的话,由于信息安全等需求,并不能为我们开通那么多可供外网访问的Web端口,比较常用的端口是80或者8080等。

那在我们开发ASP.NET MVC项目时,一定要注意项目中图片、跳转的链接,一定要使用相对路径,杜绝使用绝对路径,否则会出现404无法找到文件错误。
作为.NET Web程序开发人员来说,绝对路径就是在程序代码中使用了../这样的符号,相对路径使用的~,代表当前应用程序的目录。
接下来,我会举几个常见的使用了绝对路径的错误写法,并且给出相对应正确的相对路径写法:
案例1:在视图页面中使用了页面地址跳转的情形
绝对路径写法:
$.attr;
相对路径写法:
var url = "@Url.Action Year =" + year +"&MenuID=@ViewData["MenuID"]";
$.attr;

案例2:在视图页面中js中使用了图片的情形
绝对路径写法:
$.attr;
相对路径写法:
var url = "@Url.Content";
$.attr;
案例3:在视图页面中直接写图片地址的情形
绝对路径写法:

相对路径写法:
那么怎么快速定位到使用相对路径的文件呢?
我们打开Visual Studio开发环境,打开项目中任意一个视图页面,然后Ctrl+F在整个项目中查找全部的包含../的,如下图所示:
找到所有的cshtml页面,然后依次打开,逐个按照上面介绍的方法修改完毕即可。


