Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 不带尾随斜杠的链接_C#_Asp.net Mvc_Razor - Fatal编程技术网

C# 不带尾随斜杠的链接

C# 不带尾随斜杠的链接,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我在MVC中使用以下命令在我的应用程序中创建指向我主页的链接: <a href="~/">home</a> 不幸的是,当它在应用程序下运行时,会创建一个类似 <a href="/app-name/">home</a> 是否有办法创建指向应用程序名称的链接,而不使用尾随斜杠(或只对其进行硬编码) 我们的网站是规范化的,因此任何带有尾随斜杠的URL最终都会被重定向到其非尾随斜杠版本,并且由于此链接带有尾随斜杠,因此会导致不必要的重定向跃点,

我在MVC中使用以下命令在我的应用程序中创建指向我主页的链接:

<a href="~/">home</a>

不幸的是,当它在应用程序下运行时,会创建一个类似

<a href="/app-name/">home</a>

是否有办法创建指向
应用程序名称的链接,而不使用尾随斜杠(或只对其进行硬编码)


我们的网站是规范化的,因此任何带有尾随斜杠的URL最终都会被重定向到其非尾随斜杠版本,并且由于此链接带有尾随斜杠,因此会导致不必要的重定向跃点,这会影响我们的seo评级。Html.ActionLink助手应生成符合您要求的链接:

@Html.ActionLink("home", "Index", "Home")

假设你的主页被称为“索引”并由“HomeController”呈现。

多亏了Lajos Arpad的评论,它让我想到了另一个组成url的方法,所以我想如果我使用
虚拟实用程序。为了解决这个问题,我可能可以将结果作为子串

但使用以下内容意味着我不需要使用子字符串来获取所需的url:

<a href="@VirtualPathUtility.ToAbsolute("~")">Home</a>


不幸的是,这还添加了尾部斜杠,比如你的应用程序中的路由配置与我的应用程序不同。是否设置为true?不确定-我没有这样设置,除非默认设置为true,否则我不认为soDefault为false。如果设置为
RouteTable.Routes.AppendTrailingSlash=true我还看到示例中带有尾随斜杠的URL。如果我不加这一行,我看不到尾随的斜杠。嗯,很奇怪。我没有将它添加到我的路由配置中,因此不确定为什么我的路由配置会附加尾部的slashI建议检查URL是否以(“/”)结尾,如果是,则收集子字符串(0,MyString.Length-1)