Mam to:
<li><a href="/Users/Index)" class="elements"><span>Clients</span></a></li>
Co działa dobrze. Ale jeśli jestem już na tej stronie lub na kontrolerze np. /Users/Details
I kliknę w ten link, na który mnie przekierowuje /Users/Index
.
Jak mogę uzyskać prawidłową ścieżkę href
niezależnie od mojej aktualnej pozycji w serwisie?
asp.net
asp.net-mvc
asp.net-mvc-4
razor
href
Zapnologica
źródło
źródło
Odpowiedzi:
Można to osiągnąć na kilka sposobów. Możesz wykonać następujące czynności:
<li> @Html.ActionLink("Clients", "Index", "User", new { @class = "elements" }, null) </li>
albo to:
<li> <a href="@Url.Action("Index", "Users")" class="elements"> <span>Clients</span> </a> </li>
Ostatnio wykonuję następujące czynności:
<a href="@Url.Action("Index", null, new { area = string.Empty, controller = "User" }, Request.Url.Scheme)"> <span>Clients</span> </a>
Wynik powinien
http://localhost/10000
zostać dołączony (lub z dowolnym portem, którego używasz) do struktury adresu URL, na przykład:http://localhost:10000/Users
Mam nadzieję, że to pomoże.
źródło
Co powiesz na
<li> <a href="@Url.Action("Index", "Users")" class="elements"><span>Clients</span></a> </li>
źródło
Spróbuj wykonać następujące czynności:
<a asp-controller="Users" asp-action="Index"></a>
(Obowiązuje dla ASP.NET 5 i MVC 6)
źródło
Tutaj „~” odnosi się do katalogu głównego, gdzie Home to kontroler, a Download_Excel_File to metoda akcji
<a href="~/Home/Download_Excel_File" />
źródło
Możesz modyfikować w następujący sposób
<li><a href="./Index" class="elements"><span>Clients</span></a></li>
Dodatkowa kropka oznacza, że jesteś w tym samym kontrolerze. Jeśli chcesz zmienić kontroler na inny kontroler, możesz to napisać
<li><a href="../newController/Index" class="elements"><span>Clients</span></a></li>
źródło
Możesz także skorzystać z tego bardzo uproszczonego formularza:
@Html.ActionLink("Come back to Home", "Index", "Home")
Gdzie:
Come back to Home
to tekst, który pojawi się na stronie,Index
to nazwa widokuHome
to nazwa kontroleraźródło
Jeśli używasz ASP.NET Core, możesz dostosować zaakceptowaną odpowiedź do:
<a href="@Url.Action("Index", null, new { area = string.Empty, controller = "User" }, @Context.Request.Scheme)"> <span>Clients</span> </a>
zastępując
@Request.Url.Scheme
z@Context.Request.Scheme
źródło