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.
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.
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?
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. –
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
Il n'y a aucune différence entre le moteur de vue car le modèle ne fait pas partie de la couche de présentation. Utilisez le contrôleur d'application de base pour créer et remplir le modèle partagé et lui transmettre la référence dans la propriété ViewBag du contexte de la demande. Lire:
public ActionResult Test(TestModel model)
{
}
TestModel est une classe modèle .. Comme cela, vous pouvez passer à modèle page maître
Je ne vois pas comment ça pourrait aider. – Max
Dup? http://stackoverflow.com/questions/78548/passing-data-to-master-page-in-asp-net-mvc – Martin
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
Ce n'est pas la même chose, mais cela inclut toujours des conseils qui pourraient aider ... voir ma réponse ci-dessous –