none
Enviar DataField desde un checkbox (item template) que esta dentro de un gridview a un metodo javascript a traves del evento onchange del checkbox RRS feed

  • Pregunta

  • Tengo el siguiente metodo javascript

    <script>

     function checkbox_seleccionados_para_registro_asistencia(matricula) {             

              //hacer algo con la matricula

      </script>   

    y quiero enviarle un valor desde este evento de un checkbox dentro de un gridview

                                              

      <asp:GridView ID="gv_usuarios" runat="server" AutoGenerateColumns="False" Width="100%" style="text-align:center;">
                                            <RowStyle BackColor="White" Font-Size="8pt" Font-Names="Tahoma" HorizontalAlign="Center"/>
                                            <Columns>
                                                <asp:BoundField DataField="Matricula" HeaderText="Matrícula" />
                                                <asp:BoundField DataField="Nombre" HeaderText="Usuario" >
                                                <HeaderStyle Font-Names="Tahoma" />
                                                </asp:BoundField>
                                                <asp:BoundField DataField="TipoUsuario" HeaderText="Tipo" />
                                                <asp:TemplateField HeaderText="Asistencia">
                                                    <ItemTemplate>
                                                        <asp:CheckBox ID="chb_asistio" runat="server" ClientIDMode="Static" onchange='checkbox_seleccionados_para_registro_asistencia(<%# Bind("matricula")%>)' />
                                                    </ItemTemplate>
                                                </asp:TemplateField>
                                            </Columns>
                                            <HeaderStyle BackColor="#393939" ForeColor="White" />
                                            <AlternatingRowStyle BackColor="#F7F7F7" HorizontalAlign="Center" />
                                        </asp:GridView>

    al llenar el grid marca este error:

    Error crítico de JavaScript en la línea 513, columna 90 en http://.................... Error de sintaxis

    No he logrado que lo llene correctamente.

    Alguien podría darme alguna opción?


    Si mi respuesta fue útil ayudame marcándola como correcta.

    jueves, 26 de enero de 2017 16:57

Todas las respuestas

  • Buenas tardes, una pregunta, como estás llenando ese GridView? con un sp y un datasource o lo estás llenando por código con una tabla?
    jueves, 26 de enero de 2017 17:21
  • Lo lleno a travez de un objeto tipo List<>

      List<trans.Entidad.Consultar_usuarios_con_servicio_por_fecha_Result> lista = new List<trans.Entidad.Consultar_usuarios_con_servicio_por_fecha_Result>();
                    lista = trans.BLL.Catalogos.ConsultarUsuariosConServicioPorFecha(int.Parse(ddl_campus.SelectedValue), int.Parse(ddl_ruta.SelectedValue), int.Parse(rbl_ruta_ida_vuelta.SelectedValue), fecha);

       gv_usuarios.DataSource = list;
       gv_usuarios.DataBind();


    Si mi respuesta fue útil ayudame marcándola como correcta.

    jueves, 26 de enero de 2017 17:29
  • En esta linea onchange='checkbox_seleccionados_para_registro_asistencia(<%# Bind("matricula")%>)'

    cambia el "Bind" y pon "Eval".

    Me cuentas si te funciona, Saludos.

    jueves, 26 de enero de 2017 17:41
  • Lo cambie y sigue marcando error de sintaxis, alguna otra sugerencia?

    Si mi respuesta fue útil ayudame marcándola como correcta.

    jueves, 26 de enero de 2017 17:44
  • esos error de sintaxis generalmente es porque hay algun parentesis o una llave mal puesta, puedes mostrar que hace tu función checkbox_seleccionados_para_registro_asistencia ?? 
    jueves, 26 de enero de 2017 17:51
  • El problema no es al llamar la funcion, es al hacer el databind del grid, pareciera que renderiza mal el objeto, la funcion de momento no hace nada, esta tal cual la puse en la formulacion de la pregunta.

    Alguna otra opcion mi estimado?


    Si mi respuesta fue útil ayudame marcándola como correcta.

    jueves, 26 de enero de 2017 17:54
  • Si es tal cual como la pusiste en el codigo, a esa función le falta la llave que cierra, ahora, asumiendo que la tenga, entonces quita la función del codigo y quita el evento del checkbox y mira si carga el grid
    <script>
    
     function checkbox_seleccionados_para_registro_asistencia(matricula) {             
    
              //hacer algo con la matricula
    
      </script>  

    jueves, 26 de enero de 2017 18:00
  • Esa llave que falta fue un error de dedo al copiar la funcion aqui en el foro, si esta completa en mi codigo, pero sigue marcando el mismo error

    Si mi respuesta fue útil ayudame marcándola como correcta.

    jueves, 26 de enero de 2017 18:03
  • El grid view lo muestra asi justo despues del error en html

                                 <div>
    <table cellspacing="0" rules="all" border="1" id="gv_usuarios" style="width:100%;border-collapse:collapse;text-align:center;">
    <tr style="color:White;background-color:#393939;">
    <th scope="col">Matr&#237;cula</th><th scope="col" style="font-family:Tahoma;">Usuario</th><th scope="col">Tipo</th><th scope="col">Asistencia</th>
    </tr><tr align="center" style="background-color:White;font-family:Tahoma;font-size:8pt;">
    <td>030723</td><td>KENIA EUGENIA SANCHEZ VALENZUELA</td><td>Alumno</td><td>
                                                        <span onchange="checkbox_seleccionados_para_registro_asistencia(&lt;%# Eval(&quot;matricula&quot;)%>)"><input id="chb_asistio" type="checkbox" name="gv_usuarios$ctl02$chb_asistio" /></span>
                                                    </td>
    </tr><tr align="center" style="background-color:#F7F7F7;font-family:Tahoma;font-size:8pt;">
    <td>032185</td><td>EILEEN MARIANA LEAL ROMAN</td><td>Alumno</td><td>
                                                        <span onchange="checkbox_seleccionados_para_registro_asistencia(&lt;%# Eval(&quot;matricula&quot;)%>)"><input id="chb_asistio" type="checkbox" name="gv_usuarios$ctl03$chb_asistio" /></span>
                                                    </td>
    </tr><tr align="center" style="background-color:White;font-family:Tahoma;font-size:8pt;">
    <td>032610</td><td>ANGEL FERNANDO GONZALEZ SANDOVAL</td><td>Alumno</td><td>
                                                        <span onchange="checkbox_seleccionados_para_registro_asistencia(&lt;%# Eval(&quot;matricula&quot;)%>)"><input id="chb_asistio" type="checkbox" name="gv_usuarios$ctl04$chb_asistio" /></span>
                                                    </td>
    </tr><tr align="center" style="background-color:#F7F7F7;font-family:Tahoma;font-size:8pt;">
    <td>034058</td><td>YANN  TURRUBIATES TARAZON</td><td>Alumno</td><td>
                                                        <span onchange="checkbox_seleccionados_para_registro_asistencia(&lt;%# Eval(&quot;matricula&quot;)%>)"><input id="chb_asistio" type="checkbox" name="gv_usuarios$ctl05$chb_asistio" /></span>


    Si mi respuesta fue útil ayudame marcándola como correcta.

    jueves, 26 de enero de 2017 18:05
  • Alguna otra opcion?

    Si mi respuesta fue útil ayudame marcándola como correcta.

    jueves, 26 de enero de 2017 18:17
  • Alguna otra opcion

    ?


    Si mi respuesta fue útil ayudame marcándola como correcta.

    jueves, 26 de enero de 2017 18:28