none
Model View dinamico RRS feed

  • Pregunta

  • Buenas,

    Quería saber si existe alguna posibilidad de crear en tiempo de ejecucción un ViewModel basado en los valores de una tabla de base de datos.es decir, generar X propiedades en la vista en funcion de los campos guardados en la tabla.

    ¿Sería posible ir generando las propiedades de un view model en tiempo de ejecucción? y si es posible ¿se podría utilizar estas propiedades generadas dinámicamente con los Helpers de razor?

    Ejemplo:

    Tengo un campo definido como string en bd con valor "Prueba", y definido como requerido.

    1º generar una propiedad string con el nombre "Prueba" y asignarle un data anotation Required

    2º pintar esa propiedad dinamica utiliando Helpers de MVC

    ¿Alguna idea?

    Gracias,

    Saludos,

    martes, 9 de agosto de 2016 14:23

Respuestas

  • hola

    >>¿Es posible generar generar los campos de una vista de forma dinamica, sin tener que incluir cada campo que se quiera en el viewmodel?

    no se puede

    el viewmodel define los campso que deberias cargar en la view mediente controles, podrias generar el model y la view desde una entidad de EF pero esto hace uso de Scafolding pero el resultado basicamente seria generar codigo no es algo dinamico que se resuelva en runtime

    Using Scaffolding to Create MVC Applications with Visual Studio

    teniendo la entidad de EF podrias generar el resto, pero no seria en runtime

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta kramerr_83 viernes, 12 de agosto de 2016 7:53
    miércoles, 10 de agosto de 2016 10:55

Todas las respuestas

  • Hola Kramerr

    Revisa el siguiente enlace:

    http://geeks.ms/etomas/2013/09/12/modelos-de-vista-dinmicos-en-asp-net-mvc/

    Saludos,


    Miguel Torres


    martes, 9 de agosto de 2016 14:30
  • hola

    si tienes un model que asignar a la view podrias usar el

    @Html.DisplayForModel()
    @Html.EditorForModel()

    Using Display Templates and Editor Templates in ASP.NET MVC

    teniendo un modelo se genera la view dependiendo de esta

    >>Tengo un campo definido como string en bd con valor "Prueba", y definido como requerido.

    pero por lo que planteas quieres que el codigo sea magico, teniendo solo el campo en la db que se genera todo el resto no se puede lograr

    como comente si podrias definir la clase que define el model de la view la cual corresponda con los campos de la db, pero seras tu quien programe la persistencia

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    martes, 9 de agosto de 2016 16:55
  • Gracias por las respuestas.

    voy a intentar resumir los que quiero en 2 preguntas:

    ¿Es posible generar generar los campos de una vista de forma dinamica, sin tener que incluir cada campo que se quiera en el viewmodel?

    de ser posible generar estos controles dianmicamente (ya sea con viewmodel generado dinamicamente o no) ¿cual sería el planteamiento correcto?

    Gracias

    miércoles, 10 de agosto de 2016 6:41
  • hola

    >>¿Es posible generar generar los campos de una vista de forma dinamica, sin tener que incluir cada campo que se quiera en el viewmodel?

    no se puede

    el viewmodel define los campso que deberias cargar en la view mediente controles, podrias generar el model y la view desde una entidad de EF pero esto hace uso de Scafolding pero el resultado basicamente seria generar codigo no es algo dinamico que se resuelva en runtime

    Using Scaffolding to Create MVC Applications with Visual Studio

    teniendo la entidad de EF podrias generar el resto, pero no seria en runtime

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta kramerr_83 viernes, 12 de agosto de 2016 7:53
    miércoles, 10 de agosto de 2016 10:55