Ma question initiale était un peu confus, alors laissez-moi modifier ce post pour être plus clair:Générer un ActionLink qui vous amène à un élément HTML avec un ID particulier
Comment puis-je générer un ActionLink qui ne utilise uniquement le moteur de routage, mais vous amène également à un élément html avec un ID particulier sur une page? Je veux générer quelque chose comme ceci:
<a href="/ControllerName/ActionName/#section2>Link</a>
ou parfois même, mais avec un paramètre d'action de 15 par exemple:
<a href="/ControllerName/ActionName/15#section2>Link</a>
où la vue desservie par le actionName a un élément avec l'id « section2 »:
<div id="section1">
<h1>Section 1</h1>
...
</div>
<div id="section2">
<h1>Section 2</h1>
...
</div>
je crois que je pourrais écrire une méthode d'assistance Html qui utilise Url.RouteUrl(), puis ajoutez la « #sectionId » mais est-ce le/la meilleure façon la plus simple de le faire? Dois-je créer une règle de routage pour cela? La route par défaut:
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Experiment", action = "Index", id = "" }
);
me permet d'ajouter manuellement « # section2 » à la fin de l'url dans mon navigateur et il me prend la section2 div. Il semble que plutôt que d'ajouter ou de modifier une route, j'ai simplement besoin d'ajouter "# section2" à l'URL ActionLink.
Le titre devrait être « Générer ActionLink avec une partie URL Fragment » –