none
Agregar "Personas" consultadas desde mi base de datos, a una lista de "Personas" y mostrarlas en mi vista.

    Pregunta

  • Saludos.

    Tengo el siguiente problema, me encuentro desarrollando en Asp.net MVC con razor, en donde tengo una vista en la cual consulto "Personas", por su número de cédula. 

    Tengo un textbox(txtcedula), el cuál esta definido en mi modelo de tipo string, al momento de enviarlo de la vista al controlador consulto en mi base de datos el nombre de esa "persona",  y a un "Viewbag.nombre" le asigno el "nombre" que haya traído desde mi tabla en mi base de datos, para luego mostrarlo en mi vista.

    Sin embargo yo quiero realizar la misma consulta N número de veces,  y que las N número de "personas" que traiga se muestren en una tabla html.

    Nota: Solo tengo un texbox para ingresar la cédula y un botón para consultar el nombre de la "persona" a la que corresponda esa cédula. ¿Cómo podría hacer, para que cada vez que ingrese un número de cédula y presione el botón "consultar", las filas de mi tabla html vayan creciendo, y muestren "número de cédula" y "nombre de la persona". Sin perder los datos de ninguna de las "personas" consultadas en mi vista, y posteriormente poder manipularlas en el controlador.

    jueves, 12 de julio de 2018 2:51

Respuestas

  • hola

    >>Sin embargo yo quiero realizar la misma consulta N número de veces,  y que las N número de "personas" que traiga se muestren en una tabla html.

    bien para eso vas a tener que conservar los datos de cada consulta que realices, si es algo temporal podrias asignar la lista al objeto Session de asp.net, no se si lo conoces

    Información general sobre el estado de sesión de ASP.NET

    entonces cuando se renderiza la view deberias envias la lista que tienes en el objeto Session a un ViewBag para armar la tabla

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Anthonyvtt jueves, 12 de julio de 2018 16:36
    jueves, 12 de julio de 2018 5:37

Todas las respuestas

  • hola

    >>Sin embargo yo quiero realizar la misma consulta N número de veces,  y que las N número de "personas" que traiga se muestren en una tabla html.

    bien para eso vas a tener que conservar los datos de cada consulta que realices, si es algo temporal podrias asignar la lista al objeto Session de asp.net, no se si lo conoces

    Información general sobre el estado de sesión de ASP.NET

    entonces cuando se renderiza la view deberias envias la lista que tienes en el objeto Session a un ViewBag para armar la tabla

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Anthonyvtt jueves, 12 de julio de 2018 16:36
    jueves, 12 de julio de 2018 5:37
  • Pues suena un poco extraño que una consulta por número de cédula arroje múltiples resultados, pues se asume que un número de cédula es único y solamente puede pertenecer a una única persona.

    Pero en fin, asumiendo que su consulta tiene la capacidad de devolver múltiples resultados, lo que necesita es escribir código capaz de recibir múltiples resultados.

    Existen muchas maneras de consultar la base de datos, y muchas maneras de transferir estos resultados a una vista en ASP.net MVC.  Necesitaría saber cómo consulta usted su base de datos y cómo transfiere los datos (si en un DataSet, DataTable, colección de objetos, etc.) a quien los necesita (el controlador para luego dárselos a la vista).


    Jose R. MCP
    My GIT Repositories | Mis Repositorios GIT

    jueves, 12 de julio de 2018 6:59
  • Gracias por su ayuda, creo que no me explique bien.

    Como en la imagen que coloco abajo, tengo un textbox donde ingreso un número de cédula y cuando presiono el botón de la "lupa", va a mi controlador y me devuelve  mi vista la cédula y el nombre que pertenece a esa cédula, como pueden ver la consulta a la base no es el problema, sino hacer que mi tabla crezca N número de veces que yo haga la consulta por cédula. Ya que por ahora lo que hace es solo mostrarme el último n'umero de cédula que consulte.

    Nota: Lo que necesito es agregar varios(N) Profesores guardados en mi tabla en una base de datos, para una vez guardados en una lista de tipo List<ObjetoProfesores> .  poder agregarlos a un curso.

    Como digo, lo importante hora es que cada vez que ingrese una cédula en el texbox y de click en buscar, ls filas de mi tabla vayan creciendo, y presenten los profesores consultados. Y obviamente tener esa lista disponible en mi controlador para poder manipularla.

    Gracias por su tiempo.

    PD: ya que soy nuevo, no puedo subir imágenes por lo que agregué la imagen aquí:

    https://ibb.co/cHMQmo
    jueves, 12 de julio de 2018 15:36
  • Gracias por la ayuda Leandro Tuttini.

    Voy a investigar respecto a lo que mencionas, y te comento luego si me funciona.

    No se si me podrías ayudar con un ejemplo.

    -En mi vista: Registro.cshtml tengo 

     Cédula:@Html.TextBoxFor(o => o.txtCedula)

    y el botón de consultar <input type="submit" name="submit" class="botonimagen2" value="buscar"

    dentro de mi form.

    -En mi controlador tengo:

     [HttpPost]
     public ActionResult Registro(objeto ){

    var consulta= <En esta variable tengo mi objeto profesores que contiene cédula y nombre que contiene la consulta de mi base>

    Return View()

    }

    -En mi modelo tengo definido txtCedula como String.

    Gracias de antemano.


    • Editado Anthonyvtt jueves, 12 de julio de 2018 20:19
    jueves, 12 de julio de 2018 15:50
  • Gracias Leandro Tuttini.

    Investigue al respecto y en efecto, solucioné mi prolema.

    Atte. Anthony.


    jueves, 12 de julio de 2018 16:36