none
Herança Models MVC 3 RRS feed

  • Pergunta

  • Pessoal, tenho 4 models:
    Pai
    -Filho1
    -Filho2
    -Filho3

    O que eu quero fazer é conseguir listar todos os filhos a partir do pai(até aqui tudo tranquilo), mas quero clicar em um link e redirecionar para a página de Details do respectivo item. Por exemplo, listei todos os itens a partir do pai, e cliquei em um que é do tipo filho1, como eu posso verificar que esse é do tipo filho1 pra eu redirecionar pra ação correta, exemplo /filho1/details/1, sendo que depois posso clicar em outro que é o filho2 e fazer /filho2/details/1 ?

    Estou usando Code-First.

    segunda-feira, 12 de novembro de 2012 16:29

Todas as Respostas

  • Acho melhor você decidir qual filho é na hora de exibir o link na tela.Ai você pode ter uma classe que crie o link para você dependendo do filho e para isso basta usar sobrecarga de método.

    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    segunda-feira, 12 de novembro de 2012 16:33
  • Murilo, o que você diz com decidir qual o filho na hora de exibir um link, seria por exemplo, ter um campo no meu modelo determinando o tipo do meu filho e a partir deste valor uma classe retornar a url? Ou entendi errado?

    Obrigado.

    segunda-feira, 12 de novembro de 2012 18:07
  • Não não.. não sei se é uma idéia boa mas vai funcionar; crie uma classe que criará os links para você:

    public class LinkFactory
    {
         public string Create(Filho1 filho1){
              return "filho1/detail";
         }
    
         public string Create(Filho2 filho2){
              return "filho2/detail";
         }
    }

    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    segunda-feira, 12 de novembro de 2012 18:24
  • Então Murilo, mas esse é o problema, como vou saber que aquele item que eu cliquei é do tipo filho1 ou filho2?
    terça-feira, 13 de novembro de 2012 00:44
  • Você vai saber pelo link que foi acessado, ou seja, antes de imprimir o link na tela você deve saber qual tipo é.

    http://www.linkedin.com/pub/murilo-kunze/44/191/455


    • Editado Murilo Kunze terça-feira, 13 de novembro de 2012 15:46
    terça-feira, 13 de novembro de 2012 15:46