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