日期:2014-05-17  浏览次数:20398 次

求教:ASP.Net MVC 路径问题
最近用ASP.Net MVC 做了个文档系统,开发过程中我一直用VS自带的服务器测试,可是发布到IIS上发现好多连接、图片的路径都不对,在网上搜了一些资料,可是还是不大明白,一下几个问题:

1、ASPX页面中使用Url.Content,会报错,说是当前页面上下文不存在Url.Content。我在<link href="">中用Url.Content都是可以的,可是在<img src="">中使用Url.Content就会报错,不管是VS自带的服务器还是IIS服务器都会有此错误。

2、'~/images/1.jpg' 与 '/images/1.jpg'  与 '../images/1.jpg’ 具体有什么区别,我只知道第三个是相对路径(在MVC中用相对路径容易出错),前两个路径方式好像都是相对网站根目录的,用VS自带的服务器测试是没有什么问题,可是在IIS上网站的根目录是什么(我网站可能放到IIS的根目录里,也可能在IIS中创建虚拟目录的)


请高手指教,另有高分赠送!
------解决方案--------------------
不是的,你图片路径不对,因为你没写对
'~/‘表示根目录 “../”表示上一级目录

其它是你没有细心。

你看看view在那几级目录?

假设图片放在网站根目录下img文件夹

那么视图的图片路径应该是../../img/aa.jpg

视图至少在两层文件夹下,第一层是Views文件夹,第二层控制器名文件夹
------解决方案--------------------
有些情况,输入../img/aa.jpg在VS浏览下,也可能正常浏览图片,我有试过,但在IIS就不行了。你发布前先用IIS浏览啊
------解决方案--------------------
default.aspx
默认目录下
/defalult.aspx
当前目录下
../default.aspx
上一层目录下
~/表示根目录下
------解决方案--------------------
使用Url.Content是王道。

不能用的原因是什么?如果你用的asp.net mvc 2,如果要使用<%: Url.Content("") %>,必须确定新建的是asp.net mvc 2的视图页,新建webform视图页是不能识别的。
------解决方案--------------------
你这个是报错还是不显示图片,你的图片是放在哪个文件夹的?如果你的图片放在域(Areas)中的话,因为MVC路由配置的问题,这个是不能识别的
------解决方案--------------------
IIS中貌似不认 ~/ 表示法

好像有个属性,"启用父路径"的选项,可以试一下是否管用.
------解决方案--------------------
讨论的好好啊。我本来想发表来。上边都说完了。我就顶一下
------解决方案--------------------
引用:
IIS中貌似不认 ~/ 表示法

好像有个属性,"启用父路径"的选项,可以试一下是否管用.

就是要启用父路径啊