none
Vista con mas de un modelo RRS feed

  • Pregunta

  • en el proyecto que estamos (ASP.Ne MVC4 view engine Razor) necesitamos crear una vista que contenga dos modelos (cSinReclamos.cs y cSinFechas.cs), como sabemos en una vista solo podemos llamar a un modelo, como podríamos solucionar esto? podría adicionar todos los miembros del modelo cSinFechas.cs a cSinReclamos.cs aquí tendré varios campos me parece que no es la mejor solución, estoy seguro que varios se toparan con este problema espero puedan colaborarme a encontrar una optima solución

    domingo, 13 de enero de 2013 4:20

Respuestas

  • La solución consiste en crear un tercer modelo que sea una clase que dentro tenga sendas instancias de tus otras dos clases. Esta tercera clase sería la que pasarías en el Model a la vista.

    Editado: Y otra alternativa consiste en usar el ViewData/ViewBag para pasar desde el controlador a la vista todos los datos que quieras, sin meterlos en el modelo. No es igual de elegante que crear un auténtico modelo con todos los datos requeridos, pero en caso necesario permite dar una solución rápida al problema.


    domingo, 13 de enero de 2013 8:52
  • Hola.

    Personalmente me iría por la primera opción aportada por Alberto, puedes crearte un ViewModel que satisfaga todas las necesidades de tu View, lo decoras con los atributos que necesites y tienes acceso al scaffolding :D. No hace mucho escribí al respecto este pequeño articulo.

    Saludos.


    Nicolás Herrera
    Bogotá - Colombia
    BLOG | @nicolocodev
    "Daría todo lo que sé, por la mitad de lo que ignoro." Rene Descartes

    • Marcado como respuesta ricardo_jal domingo, 13 de enero de 2013 23:04
    domingo, 13 de enero de 2013 21:48

Todas las respuestas

  • La solución consiste en crear un tercer modelo que sea una clase que dentro tenga sendas instancias de tus otras dos clases. Esta tercera clase sería la que pasarías en el Model a la vista.

    Editado: Y otra alternativa consiste en usar el ViewData/ViewBag para pasar desde el controlador a la vista todos los datos que quieras, sin meterlos en el modelo. No es igual de elegante que crear un auténtico modelo con todos los datos requeridos, pero en caso necesario permite dar una solución rápida al problema.


    domingo, 13 de enero de 2013 8:52
  • Hola.

    Personalmente me iría por la primera opción aportada por Alberto, puedes crearte un ViewModel que satisfaga todas las necesidades de tu View, lo decoras con los atributos que necesites y tienes acceso al scaffolding :D. No hace mucho escribí al respecto este pequeño articulo.

    Saludos.


    Nicolás Herrera
    Bogotá - Colombia
    BLOG | @nicolocodev
    "Daría todo lo que sé, por la mitad de lo que ignoro." Rene Descartes

    • Marcado como respuesta ricardo_jal domingo, 13 de enero de 2013 23:04
    domingo, 13 de enero de 2013 21:48