2013-07-16 12 views
61

Ich habe dies:ASP MVC href an einen Controller/Ansicht

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

der gut arbeitet. Aber wenn ich schon auf dieser Seite bin oder auf dem Controller z. /Users/Details und ich klicke auf diesen Link, der mich zu /Users/Index umleitet.

Wie bekomme ich den richtigen Pfad in der href unabhängig von meiner aktuellen Position auf der Website?

+1

Go Thru This ..: http://www.codeproject.com/Tips/583469/MVC-Different-Redirection-Techniques-Razor –

Antwort

120

Es gibt ein paar Möglichkeiten, wie Sie dies erreichen können. Sie können wie folgt vorgehen:

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

oder dies:

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

In letzter Zeit das folgende ich:

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

Das Ergebnis wäre http://localhost/10000 (oder mit dem, was Port Sie verwenden) an die URL-Struktur angehängt werden:

http://localhost:10000/Users 

Ich hoffe, das hilft.

12

wie etwa

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

Versuchen Sie Folgendes:

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

(Gültig für ASP.NET MVC 5 und 6)

+0

Es ist nicht gültig für ASP.NET. Vielleicht gültig für alte ASP-Seiten. – Zanon

+1

Nur gültig für ASP.NET 5, d. H. MVC 6 –

4

Sie mit dem folgenden

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

Der zusätzliche Punkt bedeutet, ändern Sie sind in der gleichen Steuerung. Wenn Sie den Controller an einen anderen Controller ändern wollen, dann können Sie diese schreiben

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

Ausgezeichnete Buddy.Cheers. –

3

Hier ‚~‘ bezieht sich auf das Stammverzeichnis, in dem Heimsteuerung und Download_Excel_File actionmethod ist

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

Sie können auch Mit dieser sehr vereinfachter Form:

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

Wo:
Come back to Home ist der Text, der erscheint, o n der Seite
Index ist der Ansicht Name
Home ist der Controller Name