Je développe une application ASP.NET MVC 3, dont les pages de contenu ont un motif commun d'éléments de présentation. Cependant, étant donné que la page de connexion ne suit pas cette présentation, je ne peux pas la placer dans \Views\Shared\_Layout.cshtml
.
J'aimerais donc ajouter une autre disposition partagée, par exemple, \Views\Shared\_Content.cshtml
, et l'appeler à partir des vues de contenu ... mais malheureusement, ces vues appartiennent à des contrôleurs différents.
Est-il possible d'invoquer @Html.Partial
pour une vue appartenant à un autre contrôleur?
Ce n'est pas un problème.
@Html.Partial("../Controller/View", model)
ou
@Html.Partial("~/Views/Controller/View.cshtml", model)
Devrait faire l'affaire.
Si vous voulez passer par l’autre contrôleur, vous pouvez utiliser:
@Html.Action("action", "controller", parameters)
ou l'une des autres surcharges
Comme GvS l’a dit, je trouve également utile d’utiliser vues fortement typées pour pouvoir écrire quelque chose comme:
@Html.Partial(MVC.Student.Index(), model)
sans cordes magiques.