ASP MVC的HREF到一个控制器/视图

我有这个:

<li><a href="/Users/Index)" class="elements"><span>Clients</span></a></li> 

哪个工作正常。 但是,如果我已经在这个页面或控制器例如/Users/Details ,我点击这个链接它redirect到/Users/Index

如何在href获得正确的path,而不pipe我在网站上的当前位置?

有几种方法可以实现这一点。 您可以执行以下操作:

 <li> @Html.ActionLink("Clients", "Index", "User", new { @class = "elements" }, null) </li> 

或这个:

 <li> <a href="@Url.Action("Index", "Users")" class="elements"> <span>Clients</span> </a> </li> 

最近我做了以下几点:

 <a href="@Url.Action("Index", null, new { area = string.Empty, controller = "User" }, Request.Url.Scheme)"> <span>Clients</span> </a> 

结果会有http://localhost/10000 (或使用您正在使用的任何端口)被附加到URL结构,如:

 http://localhost:10000/Users 

我希望这有帮助。

怎么样

 <li> <a href="@Url.Action("Index", "Users")" class="elements"><span>Clients</span></a> </li> 

你可以修改如下

 <li><a href="./Index" class="elements"><span>Clients</span></a></li> 

额外的点意味着你在同一个控制器。 如果你想改变控制器到不同的控制器,那么你可以写这个

 <li><a href="../newController/Index" class="elements"><span>Clients</span></a></li> 

尝试以下操作:

 <a asp-controller="Users" asp-action="Index"></a> 

(对ASP.NET 5和MVC 6有效)

这里“〜”是指根目录,其中Home是控制器,Download_Excel_File是action方法

  <a href="~/Home/Download_Excel_File" /> 

你也可以使用这个非常简单的forms:

 @Html.ActionLink("Come back to Home", "Index", "Home") 

其中:
Come back to Home是将出现在页面上的文字
Index是视图名称
Home是控制器名称