2010-03-22 17 views
21

Puedo utilizar ASP.NET y tener un control de etiqueta en mi página, que me llene con la jQuery-ComandoCómo llenar un label.text - Propiedad a través de jQuery

$('#<%= myLabel.ClientID %>').html(content); 

.val() no lo hace parece que funciona con esto

De alguna manera, tengo problemas para obtener el contenido en código subyacente. En el código, myLabel.Text-Property todavía está vacío.

+0

¿Podríamos ver el html? – mcgrailm

Respuesta

35

Si desea mostrar el valor en el cliente y tenerlo disponible en la página, necesita una entrada que obtendrá enviado al código subyacente cuando la publicación así:

$('#<%= myLabel.ClientID %>').html(content); 
$('#<%= myInput.ClientID %>').val(content); 

<asp:Label Id="myLabel" runat="server" /> 
<asp:HiddenField ID="myInput" runat="server" /> 

En el código detrás:

myInput.Value 
+0

+1. Los controles 'HiddenField' son definitivamente la solución más simple a este problema. –

+0

Este es realmente el método más simple, lo he usado. – AGuyCalledGerald

+2

Creo que esta respuesta podría aclararse mencionando que en el código subyacente, 'myLabel.Text' no habrá recibido el contenido que estableció a través de JQuery. – ClearCloud8

8

Creo que su problema es que las etiquetas (representadas como etiquetas span) son de solo lectura en el mundo asp.net. No están destinados a ser utilizados como controles de "entrada", y como tales, los cambios a su HTML en el lado del cliente se ignoran en el lado del servidor, donde los valores se establecen en función de ViewState.

Para hacer lo que está pidiendo, también debe notificar al servidor sobre el cambio, como al usar AJAX. El único problema aquí es que los métodos web ajax en el código subyacente son estáticos y, debido a esto, no pueden acceder al conjunto de controles de la página para cambiar el valor .Text.

Al final, la opción más fácil es hacer uso de los campos ocultos como dijo Nick. Estos son controles técnicamente 'de entrada' y sus valores cambiados en el lado del cliente se envían al servidor como lo desee. Tendría que mantener la etiqueta/span y el campo/entrada ocultos sincronizados en el cliente.

Espero que esto ayude.

+0

La explicación en profundidad es buena, ¡gracias! – MrBoJangles

Cuestiones relacionadas