ASP MVC href到控制器/视图

时间:2013-07-16 08:00:14

标签: asp.net asp.net-mvc asp.net-mvc-4 razor href

我有这个:

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

哪个工作正常。但是,如果我已经在此页面上或在控制器上,例如/Users/Details我单击此链接会将我重定向到/Users/Index

无论我目前在网站上的位置如何,如何才能在href中获得正确的路径?

7 个答案:

答案 0 :(得分:154)

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

<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

我希望这会有所帮助。

答案 1 :(得分:15)

怎么样

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

答案 2 :(得分:5)

您可以使用以下

进行修改
<li><a href="./Index" class="elements"><span>Clients</span></a></li>

额外的点意味着您在同一个控制器中。如果要将控制器更改为其他控制器,则可以编写此

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

答案 3 :(得分:4)

尝试以下方法:

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

(适用于ASP.NET 5和MVC 6)

答案 4 :(得分:4)

这里&#39;〜&#39;指的是根目录,其中Home是控制器,Download_Excel_File是actionmethod

{{1}}

答案 5 :(得分:1)

您也可以使用这种非常简化的形式:

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

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

答案 6 :(得分:0)

如果使用ASP.NET Core,则可以将接受的答案调整为:

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

替换@Request.Url.Scheme@Context.Request.Scheme