Attributes.Add si simple mais pourtant si compliqué !!!
ranouf
Messages postés237Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention31 août 2009
-
27 nov. 2006 à 11:59
ranouf
Messages postés237Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention31 août 2009
-
28 nov. 2006 à 11:30
'>
protected void Page_Load(object sender,EventArgs e)
{
Investissement1TextBox.Attributes.Add("onChange", "alert('This JS function was added on the fly to this HTML Server Control!');");
}
Ceci c'est du code que j'ai récupéré sur divers site, des sites de référence pour certaines partie. Pourtant lorsque je compile j'ai le message d'erreur suivant :
Erreur 1 Le nom 'Investissement1TextBox' n'existe pas dans le contexte actuel
J'ai donc modifié le code de la sorte :
protected void Page_Load(object sender,EventArgs e)
{
((TextBox)Formulaire.FindControl("Investissement1TextBox")).Attributes.Add("onChange", "alert('This JS function was added on the fly to this HTML Server Control!');");
}
là c cool ça compile mais j'ai le message d'erreur suivant quand la page se charge :
La référence d'objet n'est pas définie à une instance d'un objet.
J'ai modifié encore le code :
protected void Page_Activate(object sender,EventArgs e)
{
((TextBox)Formulaire.FindControl("Investissement1TextBox")).Attributes.Add("onChange",
"alert('This JS function was added on the fly to this HTML Server
Control!');");
}
et
protected void Page_Activate(object sender,EventArgs e)
{
Investissement1TextBox.Attributes.Add("onChange", "alert('This
JS function was added on the fly to this HTML Server Control!');");
}
Rien n'y fait le problème perdure, cela fait 1h que je cherche, mais je ne comprends pas ... est ce que les codes que j'aurai pu trouver serait de versions précédente et donc peut etre plus compatible avec la nouvelle version du framework .... Je ne sais pas.
slednet69
Messages postés16Date d'inscriptionmardi 14 octobre 2003StatutMembreDernière intervention27 mars 2007 27 nov. 2006 à 18:17
Je suis étonné que le code soit tellement identique entre VB.net et C# sur l'ajout d'attribut.....
En tous cas je fais grossièrement la même chose que toi en VB.Net et pas de problème....çà fonctionne
BtnSuppDoc.Attributes.Add("onClick", "confirmSubmit()")
Le 1er message d'erreur est comme si ton texbox n'existe pas et le deuxième message d'erreur même chose vu qu'il ne retrouve pas le contrôle.
Ceci étant dit la deuxième méthode est inutile si tu n'ajoutes pas ta textbox dynamiquement.
Bref comment construis-tu ta form ?! Déjà tu es dans VS2005 ou bien en simple éditeur de texte
Dans ce cas là c cool, j'ai pas besoin de passer de paramètre !
Cependant maintenant j'aimerai avoir à pouvoir des arguments à cette
fonction, exemple :
ranouf
Messages postés237Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention31 août 2009 28 nov. 2006 à 11:30
J'aimerai comprendre ......
Normalement dans le Page_Unload, tous les éléments sont chagés ... et bien non car quand je fais :
protected void Page_Unload(object sender, EventArgs e)
{
((TextBox)Formulaire.FindControl("Investissement1TextBox")).Attributes.Add("onKeyPress", "alert('This JS function was added on the fly to this HTML Server Control!');");
}
On me dit que ça n'existe pas ... grrr ça m'énerve !
Autre chose encore pourquoi je suis obligé de taper :
((TextBox)Formulaire.FindControl("Investissement1TextBox"))
alors que partout je vois seulement
Investissement1TextBox