web-dev-qa-db-fra.com

Comment puis-je transmettre des paramètres à une action à l'aide de Html.Action () dans ASP.NET MVC?

J'utilise Html.Action("ActionName", "ControllerName") pour appeler des actions enfants sur plusieurs contrôleurs sans avoir besoin d'avoir la vue dans Views\Shared. Cela a bien fonctionné pour afficher des informations telles que les informations de session ou les cookies.

Au lieu d'accéder uniquement aux cookies, je souhaite transmettre des paramètres supplémentaires à Html.Action("ActionName", "ControllerName") afin que l'action puisse exécuter un code différent en fonction des données transmises à la vue d'origine.

Devrais-je utiliser une méthode différente pour passer des paramètres à une action enfant dans un autre contrôleur? Comment pourrait-on accomplir cela?

45
quakkels

Vous pouvez spécifier des données supplémentaires dans la propriété RouteValues ​​comme ceci.

Html.Action("Controller","Name", new { id = 1 })
94
Roberto Hernandez

Pour ajouter un peu à cette question, j'utilise ASP.Net MVC 5 et je pourrais y parvenir avec ce code: 

@Html.Action("foo",new {parameter1=1})
0
codea