2009-06-09 4 views
0

La forme a un asp: label et un bouton d'entrée html. Cliquez sur le bouton pour mettre à jour l'étiquette (par exemple, certaines données côté serveur).Mise à jour d'une étiquette ASP.NET sans AJAX.NET ou jQuery

Je voudrais faire cela sans UpdatePanel ou jQuery. Je peux faire un appel de base ajax à un .aspx sur le bouton clic. Quelle est la meilleure façon de mettre à jour l'étiquette avec le résultat? [figure qu'il doit s'agir d'un label asp: label]

Ai-je besoin d'un champ caché qui est chargé avec le ClientID de l'étiquette sur Page_Load? Y a-t-il un moyen plus facile?

thx

+0

Le contenu de l'étiquette est-il connu avant que le bouton ne soit cliqué? –

+0

Il peut être vide ou rempli avec quelque chose sur Page_Load –

Répondre

4

Juste mis à jour le innerHtml de l'étiquette. Emettez la propriété ClientID quelque part pour vous donner une référence arrière à l'objet. IE:

doUpdate() 
{ 
    var label = document.getElementById('<%= MyLabel.ClientID %>'); 
    label.innerHTML = getMyAjaxValue(); 
} 

PS: une chose importante à noter est que ce ne sera pas pour effet de viewstate de la page, donc si vous lisez les valeurs de l'étiquette après la publication, vous êtes SOL. Dans ce cas, vous pouvez associer l'étiquette à un contrôle ASP: Hidden pour capturer les données.

+0

cela fonctionne lorsque doUpdate() est placé dans le fichier .aspx réel, et non lorsqu'il se trouve dans un fichier .js distinct. Est-ce normal? En outre, j'ai dû utiliser des guillemets doubles ... les célibataires ont donné des erreurs. –

Questions connexes