ASP MVC控制器/视图的参考

wfauudbj  于 2022-12-24  发布在  .NET
关注(0)|答案(8)|浏览(214)

我有这个:

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

这很好用。但是如果我已经在这个页面上或者在控制器上eidogg. /Users/Details,我点击这个链接,它会把我重定向到/Users/Index
如何在href中获得正确的路径,而不管我在站点上的当前位置?

dfty9e19

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/Users
7uhlpewt

7uhlpewt2#

怎么样

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

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的一部分。

ui7jx7zq

ui7jx7zq4#

这里'~'是指根目录,其中Home是控制器,Download_Excel_File是操作方法

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

ou6hu8tu5#

您可以使用以下命令进行修改

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

多出来的点表示你在同一个控制器里。如果你想把控制器换成另一个控制器,你可以这样写

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

j5fpnvbx6#

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

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

其中:
Come back to Home是将显示在页面上的文本
Index是视图名称
Home是控制器名称

8mmmxcuj

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');
        }
    })
}
kxkpmulp

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

相关问题