ASP.NET 4.6、网址在地址栏中追加而不是重写

ASP.NET 4.6, Web address gets appended in address bar rather than being rewritten

我正在创建一个新网站;然而,这是我 运行 第一次遇到这个问题。向前导航时,我可以很好地到达我想要的页面,但除非使用后退按钮,否则我无法向后导航。如果我单击导航 link,我会收到 HTTP 404 错误:

这似乎仅在我导航到我的解决方案中的另一个文件夹并尝试导航出它时才会发生。我尝试在锚 links 前使用适当的数量 ../ 来返回。我试过使用 ~/ 和 ~/ 以及适量的 ../ 来导航。这些都不起作用。但是,如果页面位于同一个文件夹中,导航就可以正常工作。似乎只有当我在文件夹之间导航时才会发生这种情况。

该网站尚未发布,所以我只使用 Chrome、Firefox、IE 和 Edge 来调试 IIS Express。

请帮我解决这个问题。

我不得不在我的一本大学教科书中查找它,但这里有三种编写相对于根目录的路径的方法:

  1. 以正斜杠开头

    href="/Styles/Order.css" rel="stylesheet"

  2. 在服务器控件中使用波浪号 (~) 运算符

    asp:图片ID="Image1" runat="server" ImageUrl="~/Images/banner.jpg"= 10=]

  3. 对 HTML 个元素使用波浪号运算符和 ResolveURL 方法

    img src='<%=ResolveUrl("~/Images/banner.jpg")%>' alt="Image description"

参考:Murach的ASP.NET4.6 Web Programming with C# 2015 6th Edition

我希望这对以后的其他人有所帮助。