En ASP.NET simple c'est un travail facile ... il suffit de remplacer le Page_PreInit
et fait! Mais comment j'accomplis cela sous ASP.NET MVC2?Comment puis-je définir la page maître par programmation sous MVC2
3
A
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 .
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 :)
wow ... beaucoup plus facile: D Merci pour les têtes: o) – balexandre