Foros del Web » Programando para Internet » ASPX (.net) »

Problema rarísimo con UniqueID de un textbox

Estas en el tema de Problema rarísimo con UniqueID de un textbox en el foro de ASPX (.net) en Foros del Web. Saludos a tod@s! Tengo un datagrid al que le he añadido un textbox en una columna de la siguiente forma: Código: <asp:TemplateColumn> <ItemTemplate> <asp:TextBox id="txtCant" ...
  #1 (permalink)  
Antiguo 18/03/2006, 06:14
 
Fecha de Ingreso: marzo-2004
Ubicación: Valencia
Mensajes: 367
Antigüedad: 20 años, 1 mes
Puntos: 1
Problema rarísimo con UniqueID de un textbox

Saludos a tod@s!
Tengo un datagrid al que le he añadido un textbox en una columna de la siguiente forma:

Código:
<asp:TemplateColumn>
  <ItemTemplate>
    <asp:TextBox id="txtCant" cssClass="txtCant" MaxLength="2" runat="server"></asp:TextBox>
  </ItemTemplate>
</asp:TemplateColumn>
Por otro lado, con javascript, intento acceder a ese textbox al pulsar sobre una imagen que también tengo en el datagrid. Para ello en ItemDataBound tengo:
Código:
Dim txtCant As TextBox = CType(e.Item.Cells(4).FindControl("txtCant"), TextBox)
Dim txtCantId As String = txtCant.UniqueID
...
imgMenos.Attributes.Add("onClick", "decrementar('" & txtCantId & "')")
El problema está en que txtCant.UniqueID me devuelve valores del tipo:
GridArticulos:_ctl2:txtCant, GridArticulos:_ctl3:txtCant, GridArticulos:_ctl4:txtCant, ...
Y sin embargo el identificador que tiene el textbox en el HTML es del tipo:
GridArticulos__ctl2_txtCant, GridArticulos__ctl3_txtCant, GridArticulos__ctl4_txtCant,... (lo mismo pero cambiando los ":" por "_")
Es decir, en el HTML tengo algo así:
Código:
<input name="GridArticulos:_ctl2:txtCant" type="text" maxlength="2" id="GridArticulos__ctl2_txtCant" class="txtCant" />
Así que cuando intento acceder a ese textbox con javascript mediante
document.getElementById(GridArticulos:_ctl2:txtCan t) no funciona.

Sé que se podría solucionar simplemente remplazando los ":" por "_", pero me extraña mucho el problema y me gustaría saber que es lo que estoy haciendo mal.

Muchas gracias a todos. Un saludo.
  #2 (permalink)  
Antiguo 18/03/2006, 13:25
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, Jalisco, México
Mensajes: 724
Antigüedad: 20 años
Puntos: 6
Es ClientID en ves de UniqueID


Es decir... txtCant.ClientID

Saludos :)
  #3 (permalink)  
Antiguo 18/03/2006, 15:01
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, Jalisco, México
Mensajes: 724
Antigüedad: 20 años
Puntos: 6
Oye Scho, que email tienes? digo.. para charlar por msn...

saludos
  #4 (permalink)  
Antiguo 19/03/2006, 04:07
 
Fecha de Ingreso: marzo-2004
Ubicación: Valencia
Mensajes: 367
Antigüedad: 20 años, 1 mes
Puntos: 1
Buffffffff gracias Stream, que burro soy......... Y lo peor de todo es que en otro proyecto lo tenía todo con UniqueId... todo mal !!! como era para la intranet y usaban Internet Explorer (con IE sí que funciona aunque no entiendo por que) los usuarios no lo detectaron y yo tampoco....... que desastre

Bueno, lo dicho, muchas gracias. Te paso mi mail por mensaje privado.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:29.