none
pasar registros de tabla HTML a modelo MVC para luego enviar a controlador RRS feed

  • Pregunta

  • Hola.

    Tengo un formulario basado en una vista MVC en el cual ingreso información de un único evento,información de una única empresa e información de muchos empleados de la compañía que asistirán a ese evento, la información de la compañía y del evento lo almaceno si problemas en la base de datos pero no se como almacenar la información de todos los empleados que la empresa ha registrado.

    Mi ModelView, el cual utilizo para la vista que contiene el formulario tiene como propiedades para recolectar información del evento+información de la empresa+info de empleado

    Los empleados se almacenan temporalmente en una tabla HTML  para que el usuario tenga una visualización ordenada y es de ahi de donde desee tomar los empleados para guardarlos en mi modelo y luego enviarlos al controlador que se encargara de almacenar la información en la base de datos, a continuación muestro el código del formulario con la tabla

    <form class="form">
        <div class="form-group">
            <label for="inputText1">Employee Code</label>
            <input type="text" class="form-control" id="EC">
        </div>

        <div class="form-group">
            <label for="inputText2">Company</label>
            <input type="text" class="form-control" id="Cpny">
        </div>

        <div class="form-group">
            <label for="inputText3">Section</label>
            <input type="text" class="form-control" id="Sec">
        </div>

        <br/> 
        @*table inputs*@

                <input type="text" id="inputText1">
                <input type="text" id="inputText2">
                <input type="text" id="inputText3">
                <button type="button" class="btn btn-default" id="submit">Submit</button>

    <div class="table-responsive">
        <table class="table table-striped table-bordered table-condensed" id="myTable" style="width:90%; margin:0 auto;">
            <thead>
                <tr>
                    <th>#</th>
                    <th>ID</th>
                    <th>Last Name</th>
                    <th>Username</th>
                    <th></th>
                </tr>
            </thead>
            <tbody></tbody>
        </table>
    </div>

    </form>

    Como podría recolectar toda la información de la tabla HTML y guardarla en el modelo para enviarlo al controlador?

    esta es una imagen del formulario (la cree para ejemplificar la situación), gracias por la ayuda.


    pabletoreto

    domingo, 12 de marzo de 2017 15:42

Todas las respuestas

  • Tal como lo tienes, no es posible. No puedes tomar información de la tabla desde el controlador porque la tabla no se transmite al servidor desde el navegador cuando haces el Submit del Form. Solo se envían los contenidos de los campos <input>. Podrías cambiar la tabla para que la información la guarde en campos <input> (que podrían ser read-only o hidden si tu diseño lo requiere). O podrías usar algo de código javascript en el lado cliente para que recoja los valores y los envíe al servidor mediante AJAX.
    domingo, 12 de marzo de 2017 16:16
  • Tal como lo tienes, no es posible. No puedes tomar información de la tabla desde el controlador porque la tabla no se transmite al servidor desde el navegador cuando haces el Submit del Form. Solo se envían los contenidos de los campos <input>. Podrías cambiar la tabla para que la información la guarde en campos <input> (que podrían ser read-only o hidden si tu diseño lo requiere). O podrías usar algo de código javascript en el lado cliente para que recoja los valores y los envíe al servidor mediante AJAX.
    En caso utilice <input> en los <td> de mi tabla, asi:  <tr><td><input type="text" id="valor1" readonly></td></tr> como podria obtener el valor de los registros de la tabla en mi modelo?

    pabletoreto


    • Editado pabletoreto domingo, 12 de marzo de 2017 16:28
    domingo, 12 de marzo de 2017 16:28
  • Puedes usar Request.Form["nombreDeCampo"] para obtener cualquiera de los campos que haya llegado desde el navegador en el POST. Te recomiendo que les pongas a cada uno de los input un atributo "name" diferente, para poderlos recuperar por separado con el Request.Form poniendo el valor del name.
    domingo, 12 de marzo de 2017 20:06