2010-11-17 4 views

Répondre

5

Il est encore plus facile dans ASP.NET MVC, juste passer dans le nom de la page maître comme second paramètre:

return View("MyView", "MyMasterPage"); 

Bien sûr, vous pouvez créer votre propre System.Web.Mvc.ViewPage et faire le changement de page maître là-bas .

+0

wow ... beaucoup plus facile: D Merci pour les têtes: o) – balexandre

2

vous pouvez aussi le faire dans un remplacement (dans le contrôleur ou base) si vous avez des actions qui sont partagées entre par exemple un site d'administration et de l'utilisateur:

protected override ViewResult View(string viewName, 
            string masterName, object model) 
{ 

    // we share some views that aren't partialviews 
    // therefore, we have to ensure that the Shareholder master template 
    // is ALWAYS attached to the logged in user if they aren't an admin user 
    bool userIsAdmin = IsAuthorised("Admin"); 

    if (!userIsAdmin) // then flip the masterpage to Shareholder.Master 
    { 
     masterName = "Shareholder"; 
    } 

    return base.View(viewName, masterName, model); 
} 

une autre façon de se pendre , je veux dire, la peau du chat :)