ASP MVC href à un contrôleur / vue
J'ai ceci:
<li><a href="/Users/Index)" class="elements"><span>Clients</span></a></li>
Qui fonctionne bien. Mais si je suis déjà sur cette page ou sur le contrôleur par exemple /Users/Details
et que je clique sur ce lien il me redirige vers /Users/Index
.
Comment puis-je obtenir le chemin correct dans le href
quelle que soit ma position actuelle sur le site?
6 réponses
Il y a plusieurs façons d'accomplir cela. Vous pouvez faire ce qui suit:
<li>
@Html.ActionLink("Clients", "Index", "User", new { @class = "elements" }, null)
</li>
Ou ceci:
<li>
<a href="@Url.Action("Index", "Users")" class="elements">
<span>Clients</span>
</a>
</li>
Dernièrement, je fais ce qui suit:
<a href="@Url.Action("Index", null, new { area = string.Empty, controller = "User" }, Request.Url.Scheme)">
<span>Clients</span>
</a>
Le résultat aurait http://localhost/10000
(ou avec n'importe quel port que vous utilisez) à ajouter à la structure D'URL comme:
http://localhost:10000/Users
J'espère que cela aide.
Que diriez-vous de
<li>
<a href="@Url.Action("Index", "Users")" class="elements"><span>Clients</span></a>
</li>
Vous pouvez modifier avec ce qui suit
<li><a href="./Index" class="elements"><span>Clients</span></a></li>
Le point supplémentaire signifie que vous êtes dans le même contrôleur. Si vous voulez changer le contrôleur à un contrôleur différent, vous pouvez écrire ceci
<li><a href="../newController/Index" class="elements"><span>Clients</span></a></li>
Essayez ce qui suit:
<a asp-controller="Users" asp-action="Index"></a>
(valable pour ASP.NET 5 et MVC 6)
Ici ' ~ ' fait référence au répertoire racine, où Home est controller et Download_Excel_File est actionmethod
<a href="~/Home/Download_Excel_File" />
Vous pouvez également utiliser ce formulaire très simplifié:
@Html.ActionLink("Come back to Home", "Index", "Home")
Où : Come back to Home
est le texte qui apparaîtra sur la page Index
est le nom de la vue Home
est le nom du contrôleur de