今天帮同事调试一个页面,页面时另一个同事写的,我们拿过那之后发现其中很多页面都有“无法使用前导 .. 在顶级目录上退出。”的错误,仔细研究一下,发现这些页面都用到了几个相同的用户控件,如图下所示:
经过进一步移除排除法,发现是这个top.ascx的控件在作怪,此时,我也在网上搜到很多关于这个问题的资料,大多都是说:
通常出现这程状况,是你在做程序的时候放置在一文件下,使用前导符 ../ 可跳转到上级,但做为虚拟目录或上传到空间时,根目录下就是程序文件,前导符 ../ 就没有上级了,就会报这个错.一般将../的改成~/的写法就ok……之类的
于是我自己也尝试改了几个路径,发现无用,于是我怀疑是不是这个的问题,就在此时,我突然看到网上也有人遇到同样的问题,并且着重强调在用户控件的图片<img>的路径容易出现这个问题,于是我再次抱着一线希望改了一个,结果行了!(所改之处为图中的爆炸点,该页面是报错时提示的错误源,很不起眼的一个地方,也算运气好吧),所以以后出现这种问题的时候,很可能是页面或用户控件页面中的一个或多个使用../路径的控件属性超出了范围造成的,所以,出现这种情况最好先在报错时提示的源错误页面找,发现有../../之类的尤其要注意,祝各位好运!