Pregunta

Estoy apoyando a una aplicación que utiliza runat="server" todo el lugar para mostrar/ocultar las filas de la tabla.

Por ejemplo, en lugares donde no son dependientes DropDownLists, la fila con el niño ddl se oculta hasta un valor de us elegido en el padre ddl.

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

¿Fue útil?

Solución

yo suelo runat="server" Cada vez que lo necesito. Así que creo que tú también puedes usarlo. :-)

Otros consejos

Creo que es absolutamente terrible práctica.Primero de todo, usted no necesita hacer el viaje a el servidor para ocultar y mostrar los controles, a menos que se necesitan nuevos datos.

Segundo, cualquier decente framework javascript le permitirá ocultar mostrar los controles basados en el control de identificación, nombre de clase, o lo que sea selector css.Por otra parte el uso de javascript post/get a un controlador genérico te dará los datos que usted necesita sin la devolución de datos.

Me gustaría sugerir el uso de JQuery, o alguna otra alternativa.

Depende de cuánto le importe el rendimiento. Cualquier cosa que esté marcada con runat = "servidor" pasa por más procesamiento que solo etiquetas del lado del cliente.

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

No es malo usar runat = "servidor" con controles HTML estándar. A menudo encontrará el uso de marcadores de posición 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 su cuenta y no en consideración de otros aspectos de diseño, no es ni bueno ni malo.

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

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

De nada. ASP.NET admite hacer que cualquier etiqueta HTML se ejecute en el lado del servidor. Su alternativa es envolver la etiqueta en un Panel, y esconder o mostrar eso. 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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top