¿Hay algún beneficio de tener siempre una propiedad de identificación?

votos
2

En asp.net, ¿hay algún beneficio de incluir o no una propiedad de identificación? Asuma para esta pregunta que no hay una razón programática por la cual necesitamos una identificación. (No estamos manipulando el control en el código subyacente, ni en el cliente).

Mi preferencia personal es solo incluir una propiedad Id cuando tengo una razón para manipular el control y necesito poder consultarlo. Así que me encuentro siempre eliminando Image1 Label1, etc. etc.

Respuestas hasta el momento:

  1. Mantenerlos puede ayudar a las tecnologías asistidas.
  2. Mantenerlos puede ayudar con suites de prueba
  3. Eliminarlos puede tener un impacto en el ancho de banda
  4. Quitarlos mantiene su intellisense más limpio (acaba de agregar este)
Publicado el 09/12/2008 a las 21:46
fuente por usuario
En otros idiomas...                            


6 respuestas

votos
2

Tener propiedades de ID es útil para probar su página con una herramienta como Quick Test Pro, etc. También son útiles para usuarios ciegos que navegan con una herramienta de lectura de pantalla.

Hay un buen podcast de Hanselminutes donde se trata esto: http://www.hanselminutes.com/default.aspx?showID=143

Respondida el 09/12/2008 a las 22:04
fuente por usuario

votos
2

Tomado de MSDN ( http://msdn.microsoft.com/en-us/library/system.web.ui.control.id.aspx )

"Establecer esta propiedad (ID) en un control de servidor le proporciona acceso programático a las propiedades, eventos y métodos del control del servidor. Esta propiedad puede ser establecida por los desarrolladores web al declarar un atributo ID en la etiqueta de apertura de un servidor ASP.NET control. Si esta propiedad no está especificada para un control de servidor, ya sea de forma declarativa o programática, puede obtener una referencia al control a través de la propiedad Controles del control principal ".

Por lo tanto, parece que la propiedad ID se proporciona para acceder al control a través del código. Sin embargo, todavía puede acceder a un control sin una propiedad de ID a través del código.

Respondida el 09/12/2008 a las 21:55
fuente por usuario

votos
0

Estas identificaciones en los controles del servidor también ayudan cuando intenta ver el código generado en el navegador (lo que necesita hacer a veces, al menos yo lo hago). Por ejemplo, un cuadro de texto que llamo tbLastName se convertiría a algo así como ctl001_tbLastName

Respondida el 09/12/2008 a las 23:55
fuente por usuario

votos
0

Al escribir HTML a mano, no incluyo una identificación en nada a menos que lo necesite. Para un sitio de alta carga, se utiliza menos ancho de banda si no está allí. Teniendo en cuenta que las personas realizan un trabajo importante para eliminar el espacio en blanco y los comentarios de los archivos CSS y JS (generalmente en tiempo de compilación), consideraría eliminar las etiquetas de identificación que no se usaron para ingresar al mismo barco. Además, supongo que el navegador tiene menos trabajo de construcción de DOM que hacer si no hay una identificación. ¡Todo suma una transferencia de página y un tiempo de renderizado un poco más rápidos, que se suman a largo plazo!

Respondida el 09/12/2008 a las 22:53
fuente por usuario

votos
0

Básicamente, cuando quiera consultar el control desde el servidor, necesitará la identificación. La mayoría de las tareas de enlace que realiza son del lado del servidor. Esto incluye el enlace al control GridView. Asignación de mensajes al control Label, etc.

Si no está usando el control en el código detrás, puede dejar fuera la identificación. Pero siempre sugeriría que dé identificaciones significativas a todos los controles.

Si no asigna la identificación y agrega un control con ID, diga "Button1", entonces hay un cambio que colisionará con el botón ya agregado sin ID.

Respondida el 09/12/2008 a las 22:40
fuente por usuario

votos
0

Es cierto que la única razón por la que existe el ID es para obtener un control sobre un objeto individual, pero definitivamente no hay ningún beneficio para eliminar el ID auto-asignado que VisualStudio crea para usted.

Nunca se sabe cuándo se puede obtener una identificación, por lo que al menos recomendaría dejar el valor predeterminado, si no otra cosa.

Respondida el 09/12/2008 a las 22:00
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more