Usuário com melhor resposta
Alterar a Master Page dinâmicamente

Pergunta
-
Olá,
Estou desenvolvendo um sistema em MVC 3, para entregar na faculdade, e estou com problemas para alterar a Master Page.
Tenho duas Master's que devem ser aplicadas dependendo do tipo de usuário que se logar. A Master inicial foi informada na tag Page do web.config e preciso alterá-la pelo controlador.
Alguém pode me ajudar?
Irisvanda Cunha
Respostas
-
Olá Irisvanda, para trocar a master inicialmente você pode utilizar dois caminhos, pode ou sobreescrever o método OnResultExecuting de seus controllers ou criar um Atributo e aplicar sua lógica para a troca da master page. Em minha opinião utilizar o atributo pode lhe dar mais flexibilidade caso surja necessidade de mudanças e reusabilidade. Veja o exemplo utilizando atributo customizado a partir do link abaixo.
Exemplo -> https://gist.github.com/1395579
Caso prefira utilizar diretamente em seus controllers basta sobre-escrever o método OnResultExecuting no controller e adicionar o mesmo código que apliquei no atributo, do exemplo que lhe passei acima.
(Se a resposta ajudou, marque como útil)
Todas as Respostas
-
Olá Irisvanda, para trocar a master inicialmente você pode utilizar dois caminhos, pode ou sobreescrever o método OnResultExecuting de seus controllers ou criar um Atributo e aplicar sua lógica para a troca da master page. Em minha opinião utilizar o atributo pode lhe dar mais flexibilidade caso surja necessidade de mudanças e reusabilidade. Veja o exemplo utilizando atributo customizado a partir do link abaixo.
Exemplo -> https://gist.github.com/1395579
Caso prefira utilizar diretamente em seus controllers basta sobre-escrever o método OnResultExecuting no controller e adicionar o mesmo código que apliquei no atributo, do exemplo que lhe passei acima.
(Se a resposta ajudou, marque como útil)
-