Por casualidad, ¿hay alguna manera fácil de establecer un MasterView predeterminado para todas las acciones dentro de un controlador específico?ASP.NET MVC - Configure la Vista maestra de acuerdo con el Controlador
Por ejemplo, si tengo el HomeController Quiero todas las acciones dentro de él para heredar la Site.Master por defecto, pero si estoy dentro de AccountsController Quiero toda la acción de heredar la administración . dominar y así sucesivamente ..
he conseguido hacerlo con:
return View("viewName", "masterName", objectModel);
Pero al hacer esto tengo que aplicar cada vez que llamo el método Vista.
que estaba buscando algo más simple como sobre raíles, donde podemos declarar:
class HomeController < ApplicationController
layout 'site'
def index
end
def create
...
end
class AccountsController < ApplicationController
layout 'admin'
def index
end
def create
...
end
¿Es posible?
Gracias de antemano
Hola Olle, gracias por tu respuesta. Solo una cosa que no capté, ¿cómo refleja ViewData ["MasterfileToUser"] el archivo maestro? ¿Hay alguna otra cosa que deba hacer para que cargue correctamente el archivo maestro? – zanona
Mi mala asignación de viewdata no funcionará. Tomé una segunda puñalada pero actualmente no estoy en un lugar donde pueda probar esto. En OnActionExecuted el resultado (una instancia de ViewResult) está disponible, tiene una propiedad de página maestra, así que ahora la estoy asignando allí. Por favor, pruébese a sí mismo :) – olle
Olle Solo uno piensa aquí ... Ahora cada vez que llamo al método RedirectToAction arroja un error: No se puede convertir el objeto del tipo 'System.Web.Mvc.RedirectToRouteResult' para escribir 'System.Web. Mvc.ViewResult '. Y activa la clase MasterFileFileAttribute. ¿Alguna idea sobre cómo resolverlo? Gracias – zanona