关于路径的问题: 比如一个网站有根路径(####):
####/User/a.aspx
####/Manager/b.aspx
####/Index.aspx
我在 b.aspx中要连接到 a.aspx页面
使用 <a href="../User/a.aspx">点这里</a>
但是如果使用 <a href="~/User/a.aspx">点这里</a>----这里获取的路径变成####/~/User/a.aspx
~/不是获取根目录的路径么,为什么不行呢?
如果我是使用服务器控件 <linkType navurl="~/User/a.aspx" runat"server">点这里</linkType>
则可以正常访问
对于服务器控件才可以用 ~来表示根路径(ASP.NET 能识别并转换),对于客户端标记则不行
追问
那么客户端标记该怎么获取根目录? 难道一直用 ../ ../../ 这样有许多情况容易出问题
回答
客户端标记没有直接获得根目录的方式,但可以有两种方式间接获得 1. 将其变成服务器控件 2. 不能成为服务器控件的可以使用Request.ApplicationPath为获取应用名称的根路径 <a href="<%= Request.ApplicationPath %>/User/a.aspx">xx</a> 或者 <a href="/Web应用程序名/User/a.aspx">xx</a>
depend on where you run your resource template, in .net, you on use looking for template to find the correct path.
href is looking for abstract path, which different than linktype