我可以使用相对URL访问当前目录下面的页面吗?

时间:2016-12-08 16:47:03

标签: html asp.net asp.net-mvc-routing url-routing

我在Web表单应用程序中使用ASP.NET路由。

我们说我有一条关于水果的网页produce/fruit

让我们说我有一个关于苹果的网页produce/fruit/apples

因此,produce/fruit是一个页面和一个目录。我是否可以使用相对网址在此页面中创建指向produce/fruit/apples的超链接,且不必包含当前页面?

如果我在produce/fruit的页面使用下面的锚点,则会转到produce/apples,但这不存在。但是,如果我在produce/fruit/的同一页面上使用相同的链接,则会转到正确的页面/子目录。

<a href="apples">apples</a>

当然,我produce/fruit的链接可能是<a href="fruit/apples">apples</a>,但我需要包含当前的网页名称,而且produce/fruit/无法使用。

我觉得有一些我已经忘记的非常简单的HTML。

1 个答案:

答案 0 :(得分:0)

问题只是你没有考虑当前网址末尾的斜线(或缺少斜线)。

例如,如果网址为/produce/fruit且您的href类似apples,那么结果链接将为/produce/apples。但是,如果网址为produce/fruit/且href相同,则生成的链接将为/product/fruit/apples。简而言之,您只需确保始终在URL中使用尾部斜杠。为此,您可以在RouteConfig.cs中启用routes.AppendTrailingSlash

public static void RegisterRoutes(RouteCollection routes)
{
    routes.AppendTrailingSlash = true;