我在根目录中有一个home.aspx
和about.aspx
,一个包含login.aspx
,register.aspx
,manage.aspx
的帐户文件夹。
我有一个导航栏,其中包含指向所有相关页面的链接,具体取决于用户是否已登录。
假设他在login.aspx
页面并再次点击指向/login.aspx
的链接,则返回网址变为ReturnUrl="localhost:xxxx/Account/Account/login.aspx"
如果我现在点击register.aspx
,则会变为Account/Account/Account/register.aspx
这是什么以及如何纠正它? 我想我需要制作类似于所有地址都已解析的虚拟根目录 我的href是这样的,
<li id="RegisterLink" runat="server"><a href="Account/Register.aspx"><span class="glyphicon glyphicon-user"></span> Register</a></li>
<li id="LoginLink" runat="server"><a href="Account/Login.aspx"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
答案 0 :(得分:2)
您使用相对锚而不是绝对锚。 尝试改变:
<a href="Account/Register.aspx">
致:
<a href="/Account/Register.aspx">
你也可以尝试这个:
<a href="../config2.aspx">
也许如果您删除该帐户将修复它:
<a href="Register.aspx">
或者试试这个:
<a href="~/Account/Register.aspx">
或以其他方式整理文件夹。
答案 1 :(得分:0)
我正在从另一个线程中分享以下解决方案,这似乎也适用于我的情况(来源https://stackoverflow.com/a/3567721/4594699)
你有很多选择:
您可以使用
~
运算符对Url进行硬编码,该运算符为您提供根,然后从那里对其进行定义,如:~/Pages/AboutMe.aspx
。请记住,~
运算符仅被识别为服务器控件和服务器代码。您还可以使用
..
将您带到所需的位置,因为它会导航回文件夹结构,如:../Pages/AboutMe.aspx
您可以创建一个辅助方法,将有效的根返回到Pages文件夹,图像,Javascript等......
- 醇>
HttpRequest.ApplicationPath
将获取您可用于构建的服务器上的虚拟应用程序的根路径。有关Pathing选项的更多信息,请阅读MSDN上的这篇文章: