无法使用前导 .. 在顶级目录上退出(Cannot use a leading .. to exit above the top directory)

alan99 2008-03-24 11:43:03
在根目录下面有web.master文件,default.aspx文件及account文件夹
default.aspx套用了web.master
web.master里有这样的链接(HyperLink)"account/edit.aspx"

当在default.aspx页点击这个链接时遇到问题,报错:"无法使用向导..在顶级目录退出"
特征如下:
1,把网站放在IIS默认根目录下,报错
2,把网站放到IIS虚拟目录下,正常
3,上传到购买的虚拟服务器,报错
4,把链接改为"~/account/edit.aspx"或"../account/edit.aspx",一样报错

不知道是什么原因啊,在百度, GOOGLE搜索了也没找到是什么原因.
请教各位了~~~~
...全文
1714 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
benjamin123go 2011-11-08
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 qq4024qq 的回复:]
小哥 ,我也碰到同样的问题,你试一试把你模板页上面的

C# code

<head id="Head1" runat="server">

改成

C# code

<head id="Head1">
[/Quote]

有时这样也会报错的。
Using themed css files requires a header control on the page. (e.g. <head runat="server" />).
ALEWOLF 2011-08-27
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 qq4024qq 的回复:]

小哥 ,我也碰到同样的问题,你试一试把你模板页上面的
C# code
<head id="Head1" runat="server">

改成
C# code
<head id="Head1">
[/Quote]阿拉法特.本说的对。把.master页面的runat="Server"去掉
蝜蝂 2011-05-12
  • 打赏
  • 举报
回复
小哥 ,我也碰到同样的问题,你试一试把你模板页上面的
<head id="Head1" runat="server">

改成
<head id="Head1">
iamceo 2010-11-03
  • 打赏
  • 举报
回复
是不是要设置IIS的父路径
A海阔天空 2008-09-05
  • 打赏
  • 举报
回复
wszhoho 2008-03-24
  • 打赏
  • 举报
回复
account已经是根目录了,再退就出界了。
直接用http://xxx.com/account.....
blackField 2008-03-24
  • 打赏
  • 举报
回复
将相对路径(~/)改成绝对路径表示(可以使用Resolve方法)
alan99 2008-03-24
  • 打赏
  • 举报
回复

boblaw ,谢谢你的关注. 我搜过了, 有很多种说法, 但好像都没有我这种情况.

怀疑这是不是ASP.net2.0的一个bug啊..

boblaw 2008-03-24
  • 打赏
  • 举报
回复
google search "无法使用前导..在顶级目录退出"
alan99 2008-03-24
  • 打赏
  • 举报
回复
试过了, 还是一样的错误~
boblaw 2008-03-24
  • 打赏
  • 举报
回复
虛擬服務器上使用 “/account/edit.aspx”試下
虛擬目錄下就不要這樣使用
boblaw 2008-03-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 alan99 的回复:]
boblaW你好, edit.aspx也是套用了web.master. 除了这个以外没有其他的程序代码在这里.
[/Quote]
使用“/account/edit.aspx”試下
alan99 2008-03-24
  • 打赏
  • 举报
回复
boblaW你好, edit.aspx也是套用了web.master. 除了这个以外没有其他的程序代码在这里.
而且我在本机的虚拟目录下是没有错误的.
boblaw 2008-03-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 alan99 的帖子:]
当在default.aspx页点击这个链接时遇到问题,报错:"无法使用向导..在顶级目录退出"
[/Quote]
這個錯誤,也就是說能夠找到account/edit.aspx,如果找不到,就不是這個錯誤了(如果沒做錯誤轉向的話)。
是程序中代碼的問題,檢查account/edit.aspx這個頁面,錯誤因該是發生這個頁面。
alan99 2008-03-24
  • 打赏
  • 举报
回复
http://192.168.0.2/account/edit.asp这种方式是绝对路径, 但我不想这样做哦.

account/edit.aspx这种方式是相对路径, 只不过是相对于根目录下的文件来说. 但我的web.master是在根目录下和在子文件夹下的文件都要套用到的. 我不可能在每个子文件夹下都建一个web.master吧?

glboy12兄弟, 你说要用相对路径, 能否麻烦给出例子怎么使用?
glboy12 2008-03-24
  • 打赏
  • 举报
回复
很明显是你个web.master母板页给的是绝对路径.

要给相对路径.
  • 打赏
  • 举报
回复
实在不行就用错对路径:
ip为192.168.0.2的话
就是:http://192.168.0.2/account/edit.aspx

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧