私はこれを持っています:
<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 5 および MVC 6 で有効)
以下で変更できます
<li><a href="./Index" class="elements"><span>Clients</span></a></li>
余分なドットは、同じコントローラーにいることを意味します。コントローラーを別のコントローラーに変更したい場合は、これを書くことができます
<li><a href="../newController/Index" class="elements"><span>Clients</span></a></li>