none
Mantener filtro jQuery en table HTML después del PostBack RRS feed

  • Pregunta

  • Hola buenos días!

    Tengo una tabla html que lleno a partir de un Repeater Control. Este lo filtro a través de una función JQuery con un TextBox.

    El detalle que tengo es cuando ocurre un postback el filtro de la tabla se pierde, y me vuelve a mostrar todos los registros de la tabla.

    Alguien puede ayudarme a que cuando termine el postback, la tabla siga filtrada?

    Agradezco la valiosa aportación


    • Editado nefroc viernes, 11 de octubre de 2019 17:33
    viernes, 11 de octubre de 2019 17:32

Todas las respuestas

  • Hola   nefroc

     

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma,  te comento que para  que la comunidad de foros te pueda asesorar mejor, es necesario que nos compartas el form/code que estás desarrollando

     

     

    Gracias por usar los foros de MSDN.

     

    Pablo Rubio

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    viernes, 11 de octubre de 2019 18:29
    Moderador
  • Yo te diría que optes por hacer el filtro en el lado cliente o en el lado servidor, pero que no los mezcles.

    Si lo haces en lado servidor, entonces se filtra cada vez que haya un postback. En el postback, tomas el textbox para filtrar el origen de datos, los vinculas al repeater, y sirves los datos a la página. Si esto lo haces en el page_load, entonces el filtro se mantiene automáticamente durante los postbacks gracias a que el ViewState preserva el valor del TextBox.

    Si lo haces en lado cliente, entonces lo haces con la función jQuery y prescindes de los postbacks. En lugar de hacer postbacks, cada vez que la página require realizar alguna operación en el servidor la realiza mediante una llamada AJAX.

    Si a pesar de todo quieres combinar las dos cosas, entonces lo que tienes que hacer es repetir el filtrado cuando se produzca el document.ready. En ese momento, el servidor te habrá inyectado el table completo con todos los datos, y te habrá devuelto el textbox con el filtro cargado porque se preserva durante el postback (suponiendo que de verdad sea un asp.textbox y no un simple input sin el runat=server). Por lo tanto si durante el document.ready tomas el valor del textbox y reaplicas el filtro, te quedará como antes del postback.

    viernes, 11 de octubre de 2019 18:48