C# 没有MVC的ASP.NET中与Razor的相对链接
我们正在创建一个包含根目录中所有页面的站点。因此,默认情况下,所有链接都引用它们所在目录中的位置C# 没有MVC的ASP.NET中与Razor的相对链接,c#,html,asp.net,razor,razor-2,C#,Html,Asp.net,Razor,Razor 2,我们正在创建一个包含根目录中所有页面的站点。因此,默认情况下,所有链接都引用它们所在目录中的位置 <a href="Page.cshtml">Page</a> 我们已经对其进行了重组,一些页面现在位于子文件夹中,因此整个站点的链接现在需要是相对的。我已经读到,当使用Razor时,波浪(~)在标记中不起作用。ie 如何格式化链接,使其指向根目录中的某些内容 什么样的 编辑:解析为:浏览@Html.ActionLink 它允许您使用控制器名称查看@Html.Actio
<a href="Page.cshtml">Page</a>
我们已经对其进行了重组,一些页面现在位于子文件夹中,因此整个站点的链接现在需要是相对的。我已经读到,当使用Razor时,波浪(~)在标记中不起作用。ie
如何格式化链接,使其指向根目录中的某些内容
什么样的<代码>
编辑:解析为:
浏览@Html.ActionLink
它允许您使用控制器名称查看@Html.ActionLink 它允许您使用控制器名称尝试以下操作:
@helper _href(string url)
{
@VirtualPathUtility.ToAbsolute(url)
}
要在页面上使用它,请执行以下操作:
编辑:我根本不知道如何使用内置的Href方法。你绝对应该使用它。试试这个:
@helper _href(string url)
{
@VirtualPathUtility.ToAbsolute(url)
}
要在页面上使用它,请执行以下操作:
编辑:我根本不知道如何使用内置的Href方法。你一定要用它来代替。使用这种方法,如下所示:
@Href("SomePage")
请注意,您不需要使用文件扩展名。请使用以下方法:
@Href("SomePage")
请注意,您不需要使用文件扩展名。但我们没有使用MVC。即使他使用MVC,您也永远不会使用ActionLink引用静态内容。这就是
@Url.Content()
的用途。不过我们没有使用MVC。即使他使用MVC,您也永远不会使用ActionLink来引用静态内容。这就是@Url.Content()
的作用。谢谢你的建议,实际上刚刚找到了一个更简单的解决方法,我将对原始帖子进行编辑。你的解决方法没有多大意义。为什么要使用@Href(“~/”)Page.cshtml
而不是@Href(“~/Page.cshtml”)
。后者更干净,更容易阅读。它可以通过查找和替换在几秒钟内添加到整个站点,我们可能会将其更改为一路清理。感谢您的建议,实际上刚刚找到了一个更简单的解决方法,我将对原始帖子进行编辑。您的解决方法没有多大意义。为什么要使用@Href(“~/”)Page.cshtml
而不是@Href(“~/Page.cshtml”)
。后者更干净,更容易阅读。它可以通过查找和替换在几秒钟内添加到整个站点,我们可能会将其更改为沿路清理。