我有这个:
<li><a href="/Users/Index)" class="elements"><span>Clients</span></a></li>
这很好用。但是如果我已经在这个页面上或者在控制器上eidogg. /Users/Details,我点击这个链接,它会把我重定向到/Users/Index。如何在href中获得正确的路径,而不管我在站点上的当前位置?
/Users/Details
/Users/Index
href
dfty9e191#
有几种方法可以实现这一点。您可以执行以下操作:
<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
http://localhost:10000/Users
7uhlpewt2#
怎么样
<li> <a href="@Url.Action("Index", "Users")" class="elements"><span>Clients</span></a> </li>
v2g6jxz63#
请尝试以下操作:
<a asp-controller="Users" asp-action="Index"></a>
这是新Anchor Tag Helper system for Razor pages that was introduced in ASP.NET Core 1.0的一部分。
ui7jx7zq4#
这里'~'是指根目录,其中Home是控制器,Download_Excel_File是操作方法
<a href="~/Home/Download_Excel_File" />
ou6hu8tu5#
您可以使用以下命令进行修改
<li><a href="./Index" class="elements"><span>Clients</span></a></li>
多出来的点表示你在同一个控制器里。如果你想把控制器换成另一个控制器,你可以这样写
<li><a href="../newController/Index" class="elements"><span>Clients</span></a></li>
j5fpnvbx6#
您也可以使用这个非常简化的形式:
@Html.ActionLink("Come back to Home", "Index", "Home")
其中:Come back to Home是将显示在页面上的文本Index是视图名称Home是控制器名称
Come back to Home
Index
Home
8mmmxcuj7#
如果要使用一种模式进行创建和更新,也可以执行此操作
C#
onclick="showInPopup('@Url.Action("CreateOrUpdate","Request",null,Context.Request.Scheme)','Create Request')" onclick="showInPopup('@Url.Action("CreateOrUpdate","Request",new{id = item.id },Context.Request.Scheme)','Edit Request')"
苏丹
showInPopup = (url, title) => { $.ajax({ type: "GET", url: url, success: function (res) { $("#form-modal .modal-body").html(res); $("#form-modal .modal-title").html(title); $("#form-modal").modal('show'); } }) }
kxkpmulp8#
如果使用的是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
@Request.Url.Scheme
@Context.Request.Scheme
8条答案
按热度按时间dfty9e191#
有几种方法可以实现这一点。您可以执行以下操作:
或者这个:
最近我做了以下几件事:
结果将
http://localhost/10000
(或使用您正在使用的任何端口)附加到URL结构,如下所示:7uhlpewt2#
怎么样
v2g6jxz63#
请尝试以下操作:
这是新Anchor Tag Helper system for Razor pages that was introduced in ASP.NET Core 1.0的一部分。
ui7jx7zq4#
这里'~'是指根目录,其中Home是控制器,Download_Excel_File是操作方法
ou6hu8tu5#
您可以使用以下命令进行修改
多出来的点表示你在同一个控制器里。如果你想把控制器换成另一个控制器,你可以这样写
j5fpnvbx6#
您也可以使用这个非常简化的形式:
其中:
Come back to Home
是将显示在页面上的文本Index
是视图名称Home
是控制器名称8mmmxcuj7#
如果要使用一种模式进行创建和更新,也可以执行此操作
C#
苏丹
kxkpmulp8#
如果使用的是ASP.NET Core,则可以将可接受的答案调整为:
将
@Request.Url.Scheme
替换为@Context.Request.Scheme