none
Generar View en Ejecución RRS feed

  • Pregunta

  • Hola!! Soy Nueva en eso del MVC, y tengo una duda..

    El Requerimiento pide un sistema genérico, donde el usuario pueda establecer que campos y de que tipo requiere una pantalla de captura, estos se guardan en un tabla en la base datos, so al ingresar al View, cargar los controles de acuerdo, a lo que el usuario capturo; se que en .Net es facil, puedo leer la consulta y según el control crearlo desde el code-behind

    TextBox = txt = new TextBox();

    txt.Id="texto";

    y agregarlo en un Panel

    Panel pnl = new Panel();

    pnl.Id = "Panel";

    pnl.Controls.Add(txt);

    Pero no se si en MVC, es posible, teniendo en cuenta no se como declararía un @Html.TextBox() desde el Controller.

    Pregunto si eso es posible, y como seria,,

    De antemano mil gracias

    martes, 20 de enero de 2015 16:00

Todas las respuestas

  • hola

    basicamente lo que planteas es crear codigo de forma magica

    no te convien usar la tecnica de scafolding

    ASP.NET Scaffolding in Visual Studio 2013

    usando un modelo de datos definido en entity framework podrias genera las operaciones sobre la entidad de forma dinamica

     Scaffolding With ASP.net MVC 5

    no es magia pero se le acerca bastante

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 20 de enero de 2015 16:06
  • tambien podrias evaluar usar el

    Using Display Templates and Editor Templates in ASP.NET MVC

    @Html.EditorForModel()

    si defines un modelo para la view armara de forma dinamica la pantalla de edicion

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 20 de enero de 2015 16:35
  • Leandro!! Muchas gracias por Su respuesta!!

    De hecho ya realice pruebas, usando Scaffolding, y pues en realidad crea mi modelo a partir de los campos de mi trabla de la base de datos..

    Ejemplo 

    IdAtributo DescAtributo TipoAtributo TipoDato Requerido
    1 Nombre TextBox Varchar true "@Html.TextBoxFor(model => model.Nombre)" "@Html.LabelFor(model => model.Nombre)"
    2 Fecha Nacimiento TextBox Varchar true "@Html.TextBoxFor(model => model.FechaN)" "@Html.LabelFor(model => model.FechaN)"
    3 Edad Textbox INT false "@Html.TextBoxFor(model => model.Edad)" "@Html.LabelFor(model => model.Edad)"
    4 Estatus Checkbox Bit true "@Html.CheckBoxFor(model => model.Estatus)"

    "@Html.LabelFor(model => model.Estatus)"

    El scalffoding me generaria el modelo de la siguiente manera:

      public short IDAtributo { get; set; }
      public string DescAtributo { get; set; }

    public string TipoAtributo {get; set;}

    public bool Requerido {get; set;}

      public string TipoDato { get; set; }

    y sus controles correspondientes, pero lo que quiero es mediante los registros de la  tabla crear los controles,  como esta en la parte derecha de la tabla..

    No se si me de ha entender..

    martes, 20 de enero de 2015 18:24