web-dev-qa-db-fra.com

Passage d'une chaîne dans une vue partielle dans MVC4

J'aimerais pouvoir passer une chaîne dans ma vue partielle à partir de la vue appelante. Cette chaîne sera différente en fonction de la vue à partir de laquelle la vue partielle est rendue. Quelque chose comme ça: 

@{ Html.RenderPartial("PartialViews/_BreadcrumbsPartial", "New Item");}

Ou 

@{ Html.RenderPartial("PartialViews/_BreadcrumbsPartial", Model.Name);}

Comment puis-je accéder à ce second paramètre à partir de la vue partielle, puisque je n'ai pas étiqueté ce paramètre? Si possible, j'aimerais éviter de transmettre l'intégralité du modèle et de simplement référencer directement cette chaîne. 

18
RobVious

Votre partiel doit se lier à une chaîne

par exemple, en haut place ceci:

@model string

Pour accéder à la valeur de votre partiel, utilisez @Model à la place de string param

38
Dave Alperovich

Vous pouvez utiliser TempData (ou éventuellement ViewData) qui devrait être accessible dans les vues suivantes. Cependant, je pense que vous pouvez également transmettre des variables directement, éventuellement via une chaîne de requête.

Voir également cette question asp.net mvc paramètre de page en vue partielle

0
user1477388