2010-12-09 5 views
4

Comment passer un modèle à la "masterpage" MVC 3 Razor?Comment passer un modèle à la "masterpage" MVC 3 Razor

Le moteur de vue rasoir est différent du moteur de vue aspx.

+0

Dup? http://stackoverflow.com/questions/78548/passing-data-to-master-page-in-asp-net-mvc – Martin

+0

Non, ce n'est pas la même chose, car le moteur de vue Razor fonctionne différemment du moteur de vue aspx. Il y a le _ViewStart.cshtml et le _Layout.cshtml – help0001

+0

Ce n'est pas la même chose, mais cela inclut toujours des conseils qui pourraient aider ... voir ma réponse ci-dessous –

Répondre

6

La page de disposition héritera du modèle de la page de contenu. Essayez-vous d'avoir un modèle différent de celui de la page de mise en page?

+0

Je ne suis pas sûr de help001, mais j'aimerais le faire. J'ai une barre d'état dans le maître que je veux toujours afficher quelques informations du plus haut niveau du modèle (appelez-le produit). Les vues individuelles ont des modèles tels que Product.Parts, Product.Contractors, etc. Puisqu'ils peuvent tous arriver au produit, j'espérais transmettre ce "up" au master. –

2

Je ne suis pas sûr si le _Layout.cshtml peut avoir un modèle séparé. Peut-être devriez-vous vous pencher sur une configuration M-V-VM avec ViewModels qui hérite d'une classe BaseViewModel qui fournit les données partagées nécessaires au _Layout.cshtml "MasterPage".

Excellente information sur MVVM ici: Stack Overflow: MVVM ViewModel vs MVC ViewModel. également des informations à pousser la fonctionnalité ViewModel partagée dans une classe de base ici: Stack Overflow: Push Common ViewModel functionality into a base class?

[Mise à jour] Le lien dans le commentaire initial de Martin, tout en ne représentant pas un double direct de votre question, ne comprend quelques informations sur la façon d'injecter la fonctionnalité ViewModel de base sans que le contrôleur ait besoin de savoir quoi que ce soit ... re-link ici: Stack Overflow: Passing Data to Master Page in ASP.Net MVC

-3
public ActionResult Test(TestModel model) 
{ 
} 

TestModel est une classe modèle .. Comme cela, vous pouvez passer à modèle page maître

+0

Je ne vois pas comment ça pourrait aider. – Max

Questions connexes