2010-03-09 6 views
1

J'ai un GridView avec un Label. La valeur de l'étiquette peut être calculée avec une méthode jQuery . En faisant cela, le serveur (.Net-) ne réalise pas le changement de l'étiquette, mais travaille avec l'ancienne valeur de la base de données.Comment récupérer la valeur d'un label/textbox etc., qui a été calculé par jQuery

J'ai essayé plusieurs approches pour y remédier:

  • une zone de texte se comportant comme une étiquette changer quoi que ce soit
  • Indifférent Fume
  • HiddenField: travail does'nt parce qu'il has'nt un CssClass-propriété. Je ne peux pas augmenter le ID du HiddenField parce que je veux le mettre dans le GridView, et ne pas savoir comment pour obtenir le HiddenField dans la jQuery méthode

La seule façon dont cela fonctionne est avec un vide TextBox, mais il doit être visible pour obtenir le texte, dans mon expérience. Je ne veux pas ça.

S'il vous plaît me donner des conseils et éclaircir, si je comprends mal quelque chose

Répondre

2

je encore utiliser un champ caché pour cela, qui se soucie que l'équipe ASP.Net n'a pas donné une propriété CssClass :)

<asp:HiddenField Id="myField" runat="server" class="myClass" /> 

Cela fonctionne, n'est pas une propriété sur le contrôle serveur, il se comporte comme n'importe quel attribut.

Vous pouvez également utiliser le ends with selector pour le trouver:

$("input[id$=myField]").val("something"); 
+0

Nous utilisons également cette méthode, mais nous préfixons toujours nos contrôles avec un '_' pour éviter de faire correspondre l'identificateur d'état lorsque nous voulons simplement l'ID du champ. – Mark

1

j'avais rencontré ce problème aussi bien, mais ma compréhension de jquery manuplating du côté client de la page comme une étiquette ne met pas à jour vraiment quoi que ce soit sur la côté serveur parce que les étiquettes ne sont pas vraiment un champ de formulaire et ne seront donc pas affichées. Donc, la meilleure option est d'avoir une colonne cachée qui aura un champ de texte dans les deux modèles et d'éditer puis cette information sera publiée sur le serveur lors d'une publication, comme dans votre cas, il s'agit d'une grille. J'espère que cela vous aide.

+0

Merci à tous les deux, vous m'avez vraiment aidé, maintenant mon dernier essai l'a résolu, J'ai utilisé le -field et j'ai pu l'obtenir par sa propriété de classe . Je ne sais pas comment récompenser les réponses ici;) – AGuyCalledGerald

Questions connexes