2010-08-09 16 views
8

Al trabajar en .NET 4.0, parece que todos mis controles de entrada tienen el atributo 'nombre', con un valor que comienza por 'ct100$ ...'.¿Qué es ct100 y cómo lo cambio?

¿Hay alguna manera de cambiar el nombre de esto?

He recorrido toda la jerarquía de control, y dado a cada control una ID y establecí su clientidmode en 'Static' en vano, incluso los controles 'más antiguos' de la página aún heredan el prefijo.

+1

En .NET 4.0 puede usar '' en la web.config. Esta configuración afectará los controles globalmente. –

+0

Es 'ctl00', no' ct100', por cierto. – modiX

Respuesta

5

Esta es la ID de la página maestra. Lo cambio mediante la adición de un Page_Init a mi masterpage que establece su id:

Private Sub InitSub(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init 
    ID = "master" 
End Sub 

Este ID es normalmente vacío/null lo que cuando se hace que se genera un id (a partir de CT100 y subiendo)

Al igual que @Scott Stafford, dígalo breve porque prefija todas las identificaciones de clientes en su página.

uso palabras como "mBio", "mHome", etc ..

+0

Gracias bob. También se puede configurar en Page_Load(): protected void Page_Load (remitente del objeto, EventArgs e) {ID = "m"; } } – maxp

+0

Carga de página puede ser un poco tarde, estaría a salvo y hacerlo en init (para que cualquier control personalizado tenga sus ID de cliente en sus archivos) –

2

Por qué cambiarle el nombre? Puedes, como describe @Bob Fincheimer, pero ¿y qué? Además, si lo cambia de nombre, mantenga el nuevo nombre corto, porque ese nombre aparece en todos los códigos HTML generados y en todas las variables de POSTING cientos de veces, posiblemente lo suficiente como para afectar el rendimiento de su sitio.

+2

Llámame anal, pero sí, lo estoy haciendo por marginal ganancias de rendimiento (nombrándolo 'm' en lugar de 'ct100') – maxp

0

Si desea eliminarlo, busque en su web.config de la siguiente etiqueta:

<system.web> 
    ... 
    <pages ... clientIDMode="*something*"> 
    </pages> 
    ... 
</system.web> 

Retire la ClientIDMode = " algo" especificación de propiedad. Solo sácalo.

** Me robé mi propia respuesta de here.

Cuestiones relacionadas