Par un moyen quelconque, est-il possible de définir un MasterView par défaut pour toutes les actions à l'intérieur d'un contrôleur spécifique?ASP.NET MVC - Définir Master View en conséquence avec le contrôleur
Par exemple, si je le HomeController Je veux que toutes les actions à l'intérieur à l'hériteront Site.master par défaut, mais si je suis à l'intérieur AccountsController Je veux l'action d'hériter Admin . Maîtrisez et ainsi de suite ..
j'ai réussi à le faire avec:
return View("viewName", "masterName", objectModel);
Mais en faisant cela, je dois l'appliquer à chaque fois que j'appelle la méthode de vue.
que je cherchais quelque chose de simple comme sur des rails où l'on peut déclarer:
class HomeController < ApplicationController
layout 'site'
def index
end
def create
...
end
class AccountsController < ApplicationController
layout 'admin'
def index
end
def create
...
end
Est-ce possible?
Merci à l'avance
Salut Olle, merci pour votre réponse. Juste une chose que je n'ai pas attrapée, est comment un ViewData ["MasterfileToUser"] reflète le fichier principal? Est-ce quelque chose d'autre que je devrais faire pour le faire charger le fichier maître correctement? – zanona
Ma mauvaise affectation à partir de viewdata ne fonctionnera pas. J'ai pris un deuxième coup de poignard mais je ne suis actuellement pas quelque part où je peux tester cela. Dans OnActionExecuted, le résultat (une occurrence de ViewResult) est disponible. Il possède une propriété Masterpage, donc je l'attribue maintenant. S'il vous plaît vous tester :) – olle
Olle Juste un pense ici ... Maintenant Chaque fois que j'appelle la méthode RedirectToAction il jette une erreur: Impossible de lancer l'objet de type 'System.Web.Mvc.RedirectToRouteResult' pour taper 'System.Web. Mvc.ViewResult '. Et accuse la classe MasterFileFileAttribute. Des idées sur la façon de le résoudre? Merci – zanona