2011-01-27 1521 views
7

Apoyo una aplicación que usa runat="server" en todas partes para mostrar u ocultar filas de la tabla.¿Es malo usar runat = "server" en <tr>?

Por ejemplo, en los lugares donde hay DropDownLists dependientes, la fila con el ddl secundario se ocultará hasta un valor nosotros elegido en el ddl principal.

¿Es eso una mala práctica? ¿Hay una mejor manera de hacer esto?

Respuesta

9

Uso runat="server" en cualquier momento que lo necesite. Así que creo que puedes usarlo también. :-)

+3

¡La mejor respuesta! – Homer

1

Eso es lo que hago para ocultar la fila que contiene otros controles del servidor. Las otras opciones son usar un panel asp: u otro contenedor, pero eso agregará más HTML sin ninguna ganancia.

+2

asp: marcador de posición es una manera de evitar HTML procesado adicional –

+0

que era el sentido etiquetas HTML y del servidor en la página ASPX en sí. – David

0

No, en absoluto. ASP.NET admite hacer que cualquier etiqueta html se ejecute en el servidor. Su alternativa es envolver la etiqueta en un Panel, y ocultarla o mostrarla. Si no está buscando la funcionalidad adicional o desea controlar la salida usted mismo, hacer que una etiqueta html se ejecute en el servidor no es un problema.

1

No creo que sea necesariamente una mala práctica. He hecho lo mismo muchas veces. Creo que es principalmente preferencia personal.

2

No está mal usar runat = "server" con controles HTML estándar. A menudo encontrará el uso de PlaceHolders para mostrar y ocultar contenido en páginas, o en ASP.NET MVC puede ver el uso de bloques de código en línea como <% ...%> dentro de las vistas. Por sí solo y sin considerar otros aspectos del diseño, no es ni bueno ni malo.

6

Creo que es una práctica absolutamente terrible. En primer lugar, no es necesario que haga el viaje al servidor para ocultar y mostrar los controles, a menos que necesite nuevos datos.

En segundo lugar, cualquier marco decente de JavaScript le permitirá ocultar los controles del espectáculo en función de la identificación del control, el nombre de la clase o el selector de css. Además, si usas una publicación/obtención de JavaScript en un manejador genérico, obtendrás los datos que necesitas sin la devolución de datos.

Sugiero usar JQuery o alguna otra alternativa.

+2

ya está haciendo un viaje al servidor para poblar el DropDownList niño debido a las \ * \ * jadeo UpdatePanels. – Homer

5

Depende de cuánto le importe el rendimiento. Todo lo que está marcado con runat = "server" pasa por más procesamiento que solo las etiquetas del lado del cliente.

Personalmente, los he usado antes. Especialmente en una situación en la que una fila de tabla o celda depende de los datos del servidor. Puede usar Javascript o JQuery con un campo oculto, pero aún tiene que presionar el campo oculto en el servidor, por lo que no compra mucho.

Cuestiones relacionadas