Actuellement dans un lien
Customer/businessunit/RepresentativeDetails?RepresentativeId=cd3a7263-78f7-41bd-9eb0-12b30bc1059a
J'ai le code suivant pour la vue
@Html.ActionLink("Back to List", "Index")
ce qui m'amène à ce lien
customer/businessunit/index
mais plutôt que pour aller à la page d'index, je veux aller à la page précédente lorsque le lien d'action est cliqué, ce qui est
Customer/businessunit/BusinessUnitDetails/c4a86253-a287-441e-b83d-71fbb6a588bc
Comment créer un lien d'action qui me dirige vers la page précédente? quelque chose comme @Html.ActionLink("Back to Details", //go to previous page)
À moins que vous ne suiviez la page précédente sur le serveur, pourquoi ne pas simplement utiliser l'historique interne du navigateur? Dans ce cas, il n'y aurait pas besoin de code côté serveur. Vous pouvez simplement utiliser quelque chose comme ceci:
<a href="javascript:void(0);" onclick="history.go(-1);">Back to Details</a>
Ou, en séparant le code du balisage:
<a href="javascript:void(0);" id="backLink">Back to Details</a>
<script type="text/javascript">
$(document).on('click', '#backLink', function () {
history.go(-1);
});
</script>
Cela renverrait l'utilisateur à la dernière page de l'historique de son navigateur. (Bien sûr, s'ils atteignaient cette page à partir d'une autre source, cela ne les ramènerait pas "aux détails", mais plutôt "en arrière".)
Si vous voulez toujours utiliser ActionLink
vous pouvez faire quelque chose comme suggéré par JuanPieterse
@Html.ActionLink("Back to previous page", null, null, null, new { href = Request.UrlReferrer})
Vous pouvez également utiliser action
dans controller
. Voir les réponses à une question similaire ici
N'utilisez pas ActionLink pour cela ... faites simplement:
<a href="javascript:history.back()">Back to List</a>
... qui ramènera l'utilisateur là où il était avant la page actuelle
Si vous n'aimez pas utiliser ActionLink
ou JavaScript, le href="@Request.UrlReferrer"
fera l'affaire:
<div>
<a href="@Request.UrlReferrer" class="btn btn-default btn-lg" title="Back to list">
<span class="glyphicon glyphicon-arrow-left" aria-hidden="true"></span>
</a>
</div>
C'est un peu après le fait, mais j'ai pensé que j'allais contribuer. Personnellement, je baliserais mes éléments de balisage avec une classe CSS pour pouvoir simplement réutiliser la balise et en finir avec elle.
Balisage:
<a href="" class="go_back"> Back </a>
Scénario:
<script type="text/javascript">
$(function () {
$('.go_back').click(function (e) {
e.preventDefault();
history.go(-1);
});
});
</script>