Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Attributes.Add si simple mais pourtant si compliqué !!! [ Scripting / Javascript ] (ranouf)

lundi 27 novembre 2006 à 11:59:20 | Attributes.Add si simple mais pourtant si compliqué !!!

ranouf

[code]
<asp:TextBox CssClass="textbox" ID="Investissement1TextBox" runat="server" Text='<%# Bind("Investissement1") %>'></asp:TextBox>
[/code]


[code]
    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!');");
    }
[/code]

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 :

[code]
    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!');");
    }
[/code]

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 :
[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!');");
    }
[/code]
et
[code]
    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!');");
    }
[/code]


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.

Merci pour votre aide



lundi 27 novembre 2006 à 18:17:56 | Re : Attributes.Add si simple mais pourtant si compliqué !!!

slednet69

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


mardi 28 novembre 2006 à 10:52:13 | Re : Attributes.Add si simple mais pourtant si compliqué !!!

ranouf

En fait dans le Page_Load, il apparaitrait que mes éléments ne sont pas encore loadé et donc je ne peux pas leur ajouter d'atribute ....

J'ai donc déjoué le problème en faisant :
<ew:NumericBox CssClass="textbox" ID="DuréeTextBox" runat="server" Text='<%# Bind("Durée") %>' PositiveNumber="true" OnInit="MoisTrimestre"></ew:NumericBox>

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 :

.ascx

<asp:CheckBox CssClass="checkbox" ID="lineaireCheckBox" runat="server" Checked='<%# Bind("lineaire") %>' OnInit="ClickOnCheckBox('lineaireCheckBox', 'lineaire')" />


.ascx.cs

    protected void ClickOnCheckBox(String CheckBoxID, String DivID)
    {
        ((CheckBox)Formulaire.FindControl(CheckBoxID)).Attributes.Add("onClick", "if (this.checked == true) { document.getElementById('" + DivID + "').style.visibility = 'visible'; document.getElementById('" + DivID + "').style.height = 'auto' } else {document.getElementById('" + DivID + "').style.visibility = 'hidden'; document.getElementById('" + DivID + "').style.height = '0px' }");

    }


Et donc forcément vu que jamais rien ne marche du premier coup ! ça plante NORMAL !!!!

CS1012: Trop de caractères dans le littéral de caractère


Vous auriez pas une petite idée de comment réglé ce pb ?


Merci pour votre aide

mardi 28 novembre 2006 à 11:30:49 | Re : Attributes.Add si simple mais pourtant si compliqué !!!

ranouf

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

Ya une option particulière a sélectionner ?






Cette discussion est classé dans : page, code, add, attributes, investissement1textbox


Répondre à ce message

Sujets en rapport avec ce message

Code d'erreur '800a01a8' dans une page ASP. [ par Noro ] Lors de l'execution d'un vbscript sur une page ASP, où j'essaye d'afficher les informations de la requête dans des zones de texte. par exemple:documen Merci pour le code nix + petite aide suplémentaire [ par laurentcu ] sltmerci pour ce code:POUR QUE LA PAGE NE RESTE PAS DANS LE CACHE.Rappel du code: Response.Expires = -1 Response.AddHeader "Pragma", "no-cache" Select asp suivit de fonctions [ par rochonweb ] Je suis en dileme, Exemple, simple page avec code, code, texte, code,Faite votre choix<option name="Immobilier" value= Je deviens fou.... [ par Hobby ] Bonjour,Je fait une page avec un form pour le login/pass qui vérifie dans une DB, si l'utilisateur existe, je creer un cokies et active des variables Salut [ par electroncode ] Salut, juste un premier post pour vous saluer tous puisque je viens de m'inscrire.Je débute et essaye tous les trucs possibles pour créer des pages we formulaire HTML dans base de donnee [ par college ] salut tout le monde j'ai un probleme avec du code html que je mets dans une base de donnee et quand j'ai besoin je l'appel mais il ne veut pas faire l Redirection après envoi du formulaire [ par djanin ] Le code pour envoyer le formulaire que j'ai crée marche enfin, mais je suis confronté à un nouveau problème. Une fois le mail envoyé je n'arrive pas à Newsletter de Milliez [ par Abdillahi ] Bonjour à vous tous,j'ai téléchager depuis ce site le code de la NewslLetter de Milliez...ça ne marche pas! comme je n'arrive pas à avoir une réponse Récupérer la valeur d'un input type="text" [ par noldh ] Bonjour,Voici mon petit pb : J'ai un champ dans une page. Au chargement de la page, je donne une valeur (value) à ce champ.Quand j'execute mon code, Cohabiter du code en langage C# (ASP.net) et du javascript sur la même Page [ par zakfunk ] Bonjour,j'essai d'utiliser du Javascript sur une Page ASP.net avec du code en C# mais je n'arrive pas à faire cohabiter les deux sur la même Page.Merc


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.