В проекте веб-приложения MVC 5.1 у меня есть контроллер, предназначенный для приложения Canvas на Facebook. Мне нужно, чтобы все представления, возвращаемые контроллером, имели определенный макет. (Обычно я не определял бы свойство Layout в контроллере, потому что было бы слишком много, чтобы сказать в представлении, но в этом случае я готов позволить контроллеру диктовать это, поскольку это все о холсте facebook).Определение макета для представления в OnActionExecuted
я могу добиться этого путем возвращения
return View("View", "~/Views/Shared/_FacbookCanvasLayout.cshtml");
, но в этом случае я должен был бы использовать это для каждого отдельного вида. Вместо этого я должен переопределить метод OnActionExecuted
в классе базового контроллера и определить его расположение.
Итак, мой вопрос в том, как определить макет для представления в классе OnActionExecuted
- или если для этого есть лучшее решение, как я могу это сделать?
Почему бы не создать этот контроллер конкретный вид макета, а затем для каждого из видов в методах использовать @ { Layout = "~/Views/Shared/_FacbookCanvasLayout.cshtml"} –
@ ŁukaszTrzewik: та же самая причина, почему я не хочу возвращаться из контроллера несколько раз, я хочу исключить избыточность. –