Primero comentar, que .net, usa una cosa que se llama ViewState, que en pocas palabras es un tocho encriptado, donde pone el valor de los objetos que marcamos como runat="server", para poder comunicar la parte cliente, con la parte servidor.
Por ejemplo
.net esta metiendo el valor de esta label en el ViewState de la pagina para almacenar tu valor, si desde la parte servidor (el pagina.ascx.cs) ponemos esto lblHola.Text podremos capturar el valor del objeto Label.
Ahora bien, nuestro amigo .net, no deja ese id tal cual lo usamos nosotros, crea un id Unico para evitar colisiones con otros ids. entoces si queremos capturar el valor de esa variable desde Jquery o Javascript por ejemplo, nos dara un "undefined" , porque no localiza el id que le estamos pasando. Un ejemplo seria el siguiente... (en Jquery)
var valor = $('#lblHola').val(); Esto daria undefined, porque no encuentra el valor del Label.
alert(valor);
Ahora podemos probar otra cosa, en vez de usar un control .net , vamos a usar un control Html.
con lo que ahora seria.
un input type "label" con el mismo id que antes.
Si ahora probamos el Jquery,:
var valor = $('#lblHola').val();
alert(valor); //Ahora nos sale "hola", que es el valor del label.
¿y porque va ahora? por lo que comentaba antes, no esta localizando el id que le pasamos el selector de jquery.
Usando un control de .net, hay que usar ClientID, que recupera el id que crea .net para evitar las colisiones.
ahora lo vemos en un ejemplo:
var valor = $('#tbNombrePas0').val();
alert(valor);
el control de .net sera asi.
asp:TextBox ID="tbNombrePas0"
Como vemos, hemos metido el valor del textbox en una variable NombrePas, y lo mostramos en un alert.
Espero que esto ayude a lo que esteis haciendo.

No hay comentarios:
Publicar un comentario