我有这个:
<li><a href="/Users/Index)" class="elements"><span>Clients</span></a></li>
这很好地解决了。但是,如果我已经在此页面或控制器上,例如/Users/Details
,并且我单击此链接,则会将我重定向到/Users/Index
。
如何获取正确的路径在href
中,而不管我当前在站点上的位置如何?
我有这个:
<li><a href="/Users/Index)" class="elements"><span>Clients</span></a></li>
这很好地解决了。但是,如果我已经在此页面或控制器上,例如/Users/Details
,并且我单击此链接,则会将我重定向到/Users/Index
。
如何获取正确的路径在href
中,而不管我当前在站点上的位置如何?
您可以通过以下几种方式实现这一目标:
<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>
请尝试以下方法:
<a asp-controller="Users" asp-action="Index"></a>
这是ASP.NET Core 1.0 中引入的Razor页面的新锚标签帮助程序系统的一部分。
<li><a href="./Index" class="elements"><span>Clients</span></a></li>
<li><a href="../newController/Index" class="elements"><span>Clients</span></a></li>
<a href="~/Home/Download_Excel_File" />
@Html.ActionLink("Come back to Home", "Index", "Home")
Where :
Come back to Home
是页面上将出现的文本内容
Index
是视图名称
Home
是控制器名称
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')"
JS
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');
}
})
}
<a href="@Url.Action("Index", null, new { area = string.Empty, controller = "User" }, @Context.Request.Scheme)">
<span>Clients</span>
</a>
用@Context.Request.Scheme
替换@Request.Url.Scheme