0

我做错了什么,我知道的就这么多。:) 我试图在页面上显示一个简单的面包屑。我有这样的看法:

@if (ViewContext.RouteData.Values["Action"].ToString() == "Index")
{
    <li>
        // This displays "Matter"
        @ViewContext.RouteData.Values["Controller"]
    </li>
}
else
{  
    <li>
        // This displays a hyperlink "Matter", 
        // but the Href goes to "MyApp/Matter/Matter"
        <a href="@ViewContext.RouteData.Values["Controller"].ToString()">
            @ViewContext.RouteData.Values["Controller"]
        </a>
    </li>
}

在上述场景中,我将 Route.cs 文件设置为“MyApp/Matter”,它对应于“MatterController”上的“Index”操作。

单击该链接会将您带到不起作用的“MyApp/Matter/Matter”。

关于如何让它发挥作用的任何想法?

4

1 回答 1

0

您正在锚标记中设置相对路径。它正在评估:

  <a href="Matter">Matter</a>

该(物质)被附加到您当前的 URL,在这种情况下,我只能假设是“MyApp/Matter”。结果是“MyApp/Matter/Matter”。

您需要指定一个绝对 URL 或更完整的相对 URL —— ../Matter 在这种情况下可以工作。

除此之外,如果不了解您正在尝试做的事情,我将无法帮助您。

  1. 你想让面包屑把它们带到哪里?与他们正在查看的内容相关的面包屑中的内容是什么?
  2. 您的示例中的 MyApp 是包含应用程序的目录还是应用程序中的一个区域?
  3. 我只能收集到 Matter 是控制器,但它的作用是什么?如果您正在显示一个链接,那么它当前没有查看索引操作。
于 2013-03-21T02:41:02.907 回答