1

我们正在开发一个站点,该站点设置了根目录中的所有页面。结果,所有链接都引用默认情况下它们所在的同一目录中的位置...

<a href="Page.cshtml">Page</a> 

我们已经对其进行了重组,其中一些页面现在位于子文件夹中,因此整个站点的链接现在需要是相对的。我读过使用 Razor 时,波浪号 (~) 在标记中不起作用。IE<a href="~/Page.cshtml">Page</a>

如何格式化链接以使其指向根目录中的某些内容?

就像是?<a href="@Href("~/Page.cshtml")">Page</a>

编辑:解决:<a href="@Href("~/")Page.cshtml">Page</a>

4

3 回答 3

3

试试这个:

@helper _href(string url)
{
    @VirtualPathUtility.ToAbsolute(url)
}

在页面上使用它:

<a href="@_href("~/page.html")">linky</a>

编辑:我怎么不知道内置的 Href 方法超出了我的范围。您绝对应该使用它。

于 2013-11-08T18:47:50.707 回答
3

使用Href方法,如下所示:

@Href("SomePage")

请注意,您不需要使用文件扩展名。

于 2013-11-08T18:56:27.493 回答
0

浏览@Html.ActionLink

它允许您使用控制器名称

于 2013-11-08T18:41:05.313 回答