ASP MVC href к контроллеру / просмотр


у меня есть это:

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

который отлично работает. Но если я уже на этой странице или на контроллере, например /Users/Details и я нажимаю на эту ссылку, он перенаправляет меня к /Users/Index.

как я могу получить правильный путь в href независимо от моего текущего положения на сайте?

6 65

6 ответов:

есть несколько способов, которые вы можете выполнить это. Вы можете сделать следующее:

<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>

Вы можете изменить следующие

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

дополнительная точка означает, что вы находитесь в том же контроллере. Если вы хотите изменить контроллер на другой контроллер, то вы можете написать это

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

попробуйте следующее:

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

(действительно для ASP.NET 5 и MVC 6)

здесь ' ~ ' относится к корневому каталогу, где Home-контроллер, а Download_Excel_File-actionmethod

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

вы также можете использовать эту очень упрощенную форму:

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

где :
Come back to Home Это текст, который появится на странице
Index - имя вида
Home - имя контроллера