网站的路径为:D:\...CustomerManagerSystem\在某一页面如果使用<a href="../UserManager.aspx">用户管理</a>,本机测试则打开超链接出现乱码,而没有链接到指定的页面上。但是如果我用<a href="UserManager.aspx">用户管理</a>就能正确跳转。请问:如果使用<a href="UserManager.aspx">用户管理</a>的话(同级目录),如果不在本机,而是客户端,是否能正确显示网页?
我还是不太明白相对路径的用法。
我还是不太明白相对路径的用法。
<a href="UserManager.aspx">b </a>;如果b在a的上一级则需要加“../”退出一级。自己可以使用多文件测试一下。
我还是不太明白相对路径的用法。
------------------------------------------
楼主理解有误差,这里并不区分客户端和服务端。
谢谢楼上,但是:网站中包括一个Image文件夹用于存放网页使用的图片, 在网页中使用 <img src="Images/title.gif" /> 能正常显示图片,但如果使用 <img src="~/Images/title.gif" /> 就不能正常显示了。不知道为什么。请各位解答一下。
------------------------------------------
~ 是服务端代码,IE根本不认识它的。
如果你实在觉得相对路径麻烦和不好区分,可用绝对路径:<img src="/Images/title.gif" /><!-- /代表站点根路径 -->
<a href="UserManager.aspx"> <!--表示链接到c:/RootPath/CustomerManagerSystem/UserManager.aspx-->
网站发布到网络上去也能正确解读路径。相对路径:是相对于当前应用程序文件路径而言的。
例如上面的“../UserManager.aspx”。
因为Default.aspx文件目录是c:/RootPath/CustomerManagerSystem/,“..”表示当前目录上一层目录。
所以“../UserManager.aspx”的绝对路径为:“c:/RootPath/CustomerManagerSystem/../UserManager.aspx”(等价于c:/RootPath/UserManager.aspx)。
方法:判断相对路径正确与否,只要在前面加上当前目录形成绝对路径,然后再看能否按照该绝对路径找到要引用的文件。相对绝对路径:是相对于网站根目录而言的。在Asp.net 中用“~”或者<%=Server.ApplicationPath%>
~:必须有runat="Server" 属性配合使用,服务器将其解读为网站的根目录
<%=Server.ApplicationPath%>:解读方法及结果都同~一样,但是在无法使用runat="Server"时,使用它代替~
例如:
这里我假设UserManager.aspx放在网站根目录下面
<a href="~/UserManager.aspx" runat="Server">
<a href=<%=Server.ApplicationPath%>/UserManager.aspx>
两者的结果是一致的
~:必须有runat="Server" 属性配合使用,服务器将其解读为网站的根目录
<%=Server.ApplicationPath%> :解读方法及结果都同~一样,但是在无法使用runat="Server"时,使用它代替~
例如:
这里我假设UserManager.aspx放在网站根目录下面
<a href="~/UserManager.aspx" runat="Server">
<a href= <%=Server.ApplicationPath%> /UserManager.aspx>
两者的结果是一致的 我推荐一致使用这种方法,有意想不到的方便,其他的各种方法都会遇到各种问题,尤其在使用母板页的时候