none
Alterar a Master Page dinâmicamente RRS feed

  • 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
    sábado, 26 de novembro de 2011 01:21

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)

    • Editado Wilian NS sábado, 26 de novembro de 2011 14:35 .
    • Sugerido como Resposta Dennes terça-feira, 29 de novembro de 2011 03:13
    • Marcado como Resposta Irisvanda terça-feira, 29 de novembro de 2011 22:16
    sábado, 26 de novembro de 2011 12:42

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)

    • Editado Wilian NS sábado, 26 de novembro de 2011 14:35 .
    • Sugerido como Resposta Dennes terça-feira, 29 de novembro de 2011 03:13
    • Marcado como Resposta Irisvanda terça-feira, 29 de novembro de 2011 22:16
    sábado, 26 de novembro de 2011 12:42
  • Deu certo.

     

    Obrigada


    Irisvanda Cunha
    terça-feira, 29 de novembro de 2011 22:16