2013-07-16 8 views
61

mam to:ASP MVC href do kontrolera/widoku

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

który działa dobrze. Ale jeśli jestem już na tej stronie lub na kontrolerze np. /Users/Details i kliknąłem ten link, który przekierowuje mnie do /Users/Index.

Jak mogę uzyskać poprawną ścieżkę w href niezależnie od mojej aktualnej pozycji na stronie?

+1

przejść przez ten ..: http://www.codeproject.com/Tips/583469/MVC-Different-Redirection-Techniques-Razor –

Odpowiedz

120

Istnieje kilka sposobów, że można tego dokonać. Można wykonać następujące czynności:

<li> 
    @Html.ActionLink("Clients", "Index", "User", new { @class = "elements" }, null) 
</li> 

lub to:

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

ostatnio I wykonaj następujące czynności:

<a href="@Url.Action("Index", null, new { area = string.Empty, controller = "User" }, Request.Url.Scheme)"> 
    <span>Clients</span> 
</a> 

Efektem miałoby http://localhost/10000 (lub cokolwiek portu używasz) należy dołączyć do struktury adresu URL, na przykład:

http://localhost:10000/Users 

Mam nadzieję, że to pomoże.

12

jak o

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

Spróbuj wykonać następujące czynności:

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

(Ważny dla ASP.NET MVC 5 i 6)

+0

To nie jest poprawne dla ASP.NET. Może dotyczyć starych stron ASP. – Zanon

+1

Ważne tylko dla ASP.NET 5, tj. MVC 6 –

4

można modyfikować za pomocą następującego

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

Dodatkowa kropka oznacza, że są w tym samym kontrolerze. Jeśli chcesz zmienić kontroler do innego kontrolera następnie można napisać ten

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

Doskonały Buddy.Cheers. –

3

Tutaj „~” odnosi się do katalogu, w którym strona jest kontroler i Download_Excel_File jest actionmethod

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

Można również skorzystać z tej bardzo uproszczoną postać:

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

Gdzie:
Come back to Home to tekst, który pojawi się o n strona
Index to nazwa widoku
Home jest nazwa kontrolera