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
是控制器名称