100

私はこれを持っています:

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

これはうまくいきます。しかし、既にこのページまたはコントローラにいる場合、たとえば/Users/Details、このリンクをクリックすると、にリダイレクトされます/Users/Index

hrefサイトでの現在の位置に関係なく、正しいパスを取得するにはどうすればよいですか?

4

8 に答える 8

187

これを実現するには、いくつかの方法があります。次のことができます。

<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

これが役立つことを願っています。

于 2013-07-16T08:08:37.747 に答える
20

どうですか

<li>
<a href="@Url.Action("Index", "Users")" class="elements"><span>Clients</span></a>
</li>
于 2013-07-16T08:03:13.287 に答える
9

次のことを試してください。

<a asp-controller="Users" asp-action="Index"></a>

(ASP.NET 5 および MVC 6 で有効)

于 2015-06-02T01:47:35.283 に答える
5

以下で変更できます

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

余分なドットは、同じコントローラーにいることを意味します。コントローラーを別のコントローラーに変更したい場合は、これを書くことができます

<li><a href="../newController/Index" class="elements"><span>Clients</span></a></li>
于 2015-06-05T04:58:07.233 に答える