Mostrando entradas con la etiqueta JQuery. Mostrar todas las entradas
Mostrando entradas con la etiqueta JQuery. Mostrar todas las entradas

miércoles, 9 de octubre de 2013

Controles de servidor NO, HTML + JQuery Si!

Los que programamos en .NET aplicativos web, vemos que en .NET vienen controles de servidor ya hechos como son el dropdownlist, gridview, etc.

Lo primero que pienso: "Oh todo ya viene hecho!, que fácil se me va hacer la vida".
Es cierto es fácil, pero a la hora que el usuario que interactúe y vea realmente como funcionan esos componentes dirá algo como: "Porqué se recarga la página, está muy lento, no me gusta...."

Es por ello que la tendencia ahora es programar todo con JQuery y dejar de lado los controles de servidor previamente mencionados:

Se los pongo de otro modo:

Caso A: DropDownList

El evento IndexChanged de un DropDownList, para activarse, debe llamar a un postback (AutoPostBack="True", y regrescar toda la página, pero al hacer esto no solo estamos golpeando la rapidez del sistema, sino que afectamos a otros componentes en el postback.

Es mejor usar una etiqueta <select> con la opción runar="server" y posteriormente programar su evento de cambio con JQuery.

<select id="midropdownlist" runat="server">

$( "#midropdownlist" ).change(function() {
  //Hacer mi lógica
});

*La propiedad runat="server" sirve para que en el codebehind podamos asignarle valores a este control:

Public Sub PonValor()
    midropdownlist.Items.Add("Opción 1")
    midropdownlist.Items(0).Value="1"
    midropdownlist.Items.Add("Opción 2")
    midropdownlist.Items(1).Value="2"
En Sub

Caso B: GridView

Al igual que un dropdownlist, el evento index changed depende de la ejecución de un postback. El reemplazo de éste sería una etiqueta <table>.

<table id="mitabla">
    <tr>
      <td>
        Hola, Soy una columna
      </td>
    </tr>
</table>

Para este caso, la librería de JQuery que uso es la siguiente: https://datatables.net/

Permite con poco código generar tablas dinámicas desde lado del cliente, su uso es totalmente simple y muy configurable.

Si además de lo anteriormente mencionado añadimos los efectos de JQuery y su control multinavegador, vemos que es una mejor opción en cuanto a calidad de software.

Recuerden que para hacer valer nuestro trabajo hay que esforzarnos para diferenciarnos del resto.

Saludos.