日期:2014-05-17  浏览次数:20438 次

关于<a>标签的地址问题
我在做一个博客网站系统,我在母版页ViewMaster的aspx文件中写了如下一段代码
 <a href="Login.aspx" target="_top">登录</a>

当点击这个链接的时候跳转到登录页面,可是总是提示无法找到页面。下面是我的解决方案资源管理器的文件树截图
运行时,出现的是homePage.aspx的页面,该页面继承至ViewMaster母版页,但是该页面我重新建立了一个文件夹存放,因为还有其他的一些类似功能页面,所以我想放一起比较好管理。可是问题出现了:
当点击那个登陆的链接时,提示无法找到XX/View/Login.aspx。我不知道为什么程序会定位到View这个文件夹去找Login.aspx,而不是直接在根目录找Login.aspx。
我试过在<a>标签的herf改成"~/Login.aspx",但是运行还是报一样的错误。
大神们能指点一下吗?告诉我怎么才能让我在点击<a>便签转到我Login.aspx页面。

------解决方案--------------------
./Login.aspx
------解决方案--------------------
开头以“/”开始的表示有根目录开始
去掉域名后,以“/”开头的部分就是路径
比如你logon访问是 www.xxxx.com/aaaa/vvvv/dddd/logon.aspx
那不管在任何一级位置,要指向logon.aspx的链接都是"/aaaa/vvvv/dddd/logon.aspx"
------解决方案--------------------
<a href='<%= ResolveUrl("~/Login.aspx") %>'>登录</a>


既然在asp.net中使用,最好请写
<asp:HyperLink NavigateUrl="~/Login.aspx" runat="server">登录</asp:HyperLink>
因为这比上面的东西具有更丰富的功能。