89 votes

L'Appel De @Html.Partielle pour afficher une vue partielle appartenant à une autre manette

Je suis en train d'élaborer un ASP.NET MVC 3 demande, dont le contenu des pages d'un modèle commun d'éléments de mise en page. Cependant, parce que la page de connexion ne suit pas cette mise en page, je ne peux pas placer cette mise en page en \Views\Shared\_Layout.cshtml.

Donc, je tiens à ajouter un autre partagés, mise en page, disons, \Views\Shared\_Content.cshtml, et de l'appeler à partir de l'affichage du contenu... mais, malheureusement, ces points de vue appartiennent à différents contrôleurs.

Est-il possible d'invoquer @Html.Partial pour une vue appartenant à une autre manette?

157voto

GvS Points 28137

Pas de problème.

@Html.Partial("../Controller/View", model)

ou

@Html.Partial("~/Views/Controller/View.cshtml", model)

Devrait faire l'affaire.

Si vous voulez passer par les (autres) contrôleur, vous pouvez utiliser:

@Html.Action("action", "controller", parameters)

ou l'un des autres surcharges

7voto

Craig Points 15049

Comme GvS dit, mais je trouve aussi qu'il est utile d'utiliser des points de vue fortement typée pour que je puisse écrire quelque chose comme

@Html.Partial(MVC.Student.Index(), model)

sans la magie des cordes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X