[ASP.NET ]Récuperation de valeur suite à un onKeyPress [Résolu]

Signaler
Messages postés
344
Date d'inscription
jeudi 1 mai 2003
Statut
Membre
Dernière intervention
4 avril 2011
-
Messages postés
344
Date d'inscription
jeudi 1 mai 2003
Statut
Membre
Dernière intervention
4 avril 2011
-
Bonjour à tous,

Comme il n'y a pas d'évenement onKeyPress sur une textBox, je suis obligé de bricoler avec du javascript comme ceci:
txt.Attributes.Add('onKeyPress','...');
Seulement, dans le code javascript, je doit récuperer les valeurs de certains composants.
J'utilise donc le getElementById(); mais FrameWork rajoute un préfixe devant le nom des composants. je suis donc obligé de le rajouter en dur:
getElementById('_clt0_NomComposant').value;
mais ce n'est pas très propre...

Questions:
- N'y a t-il vraiment pas moyen de faire un onKeyPress en code behind ?
- Le préfixe rajouté est_il TOUJOURS le même (mon application est ammenée à changer de poste) ?
- Peut-on récuperer le prefixe que FrameWork rajoute ?

David, à VERSAILLES

5 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
on peut faire faire un postback sur le onKeyPress, suffit de dériver le
bouton, regarde une de mes sources, j'ai fait a peu pres la meme chose,
mais je pense que c'est assez lourd, car ca va faire beaucoup de
postback



non le prefixe ne sera pas toujours le meme, tout depend de l'endroit
ou sera situé ton textbox, le nom prend la hierarchie du controle.


on peut recuperer le nom complet du textbox, en faisant moncontrole.uniqueID (plus tres sur finalement)




<hr>

Cyril - http://Hoshimi.CodeS-SourceS.fr
Messages postés
344
Date d'inscription
jeudi 1 mai 2003
Statut
Membre
Dernière intervention
4 avril 2011
1
Salut JesusOnLine,
Merci pour tes réponses (pas très réconfortantes), j'ai bricolé un truc avec des bouts de ficelle:

txt.Attributes.Add('onKeyPress',
+'document.forms[0].cache.value=''key''; '
+'document.forms[0].submit(); }');

if Request.Params.Get('cache')='key' then

Je pass du code behind au javascript puis aux controles HTML que je récupère depuis le code behind, ouf.

David, à VERSAILLES
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
lol




Me.TextBox1.Attributes.Add("onkeypress",
Me.GetPostBackEventReference(Me.TextBox1, "onkeypress"))





ce sera peut etre un peu mieux quand meme ;) mais il vaut quand meme
mieux si tu as envie de faire via un postback, dériver un bouton ...



ah oui pour recuperer le onkeypress : dans le page load, la variable e
passé en arguments est onkeypress, et le sender et le textbox1 à
partir de la ce sera mieux que ta solution je pense :)



j'avoue qu'il fallait connaitre la méthode getpostbak... car elle n'est
pas referencé dans vs.net puisque comme beaucoup de fonctions tres
interessante elle a l'attribut :

<Cyril - http://Hoshimi.CodeS-SourceS.fr
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
lol




Me.TextBox1.Attributes.Add("onkeypress",
Me.GetPostBackEventReference(Me.TextBox1, "onkeypress"))





ce sera peut etre un peu mieux quand meme ;) mais il vaut quand meme
mieux si tu as envie de faire via un postback, dériver un bouton ...



ah oui pour recuperer le onkeypress : dans le page load, la variable e
passé en arguments est onkeypress, et le sender et le textbox1 à
partir de la ce sera mieux que ta solution je pense :)



j'avoue qu'il fallait connaitre la méthode getpostbak... car elle n'est
pas referencé dans vs.net puisque comme beaucoup de fonctions tres
interessante elle a l'attribut :



<Cyril - http://Hoshimi.CodeS-SourceS.fr
Messages postés
344
Date d'inscription
jeudi 1 mai 2003
Statut
Membre
Dernière intervention
4 avril 2011
1
Ta réponse m'offre de nouveaux outils mais pas pour ce cas ci car ce n'est pas la meme page, c'est une popup qui apelle la page.

David, à VERSAILLES