begin process at 2012 05 27 18:31:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Scripting

 > 

Javascript

 > 

Attributes.Add si simple mais pourtant si compliqué !!!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Attributes.Add si simple mais pourtant si compliqué !!!

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ée dans : page, code, add, attributes, investissement1textbox


Répondre à ce message

Sujets en rapport avec ce message

Comment empêcher que son repeater ce vide à l'appuie sur un bouton ? [ par jejedunet ] Bonjour,Voici mon problème, je veux générer dynamiquement un repeater qui a comme source une arrayList et j'y arrive très bien sauf que lorsque je cli affichage trop lent [ par Oho2 ] Bonjour,J'ai créer un tableau dynamiquement, avec environ 300 cellules. J'ai une zone contenant des items que l'on peut dragger jusqu'au tableau. Donc onclient et onclientclick [ par alicia26 ] salut à tous!voici mon hic:avec ce code,[CODE]  Sub butAnnulerOrder_Click(ByVal sender As Object, ByVal e As System.EventArgs)        ' cnAccess = New dropdownlist + alert javascript sous firefox => problème [ par gr54 ] Bonjour à tous, J'ai développé une appli asp.net et c# (3.5) qui utilise une dropdownlist, le tout en ajax via un updatepanel. Dans certains cas, j'a Actualiser un formulaire à partir d'un autre [ par aercilla ] Bonjour,Je dois mettre en place l'actualisation d'une page contenant 2 formulaires.Mes formulaires sont un formulaire de saisie (que j'appelerais Form Modifier son code personnel [ par cedriccopy ] Bonjour, J'ai une page identification et je veux que l'identifiant puisse changer de code personnel comme bon lui semble. Pour ce faire, j'ai créer u recupération de variable code behind [ par casa51 ] Bonjour, Je développe en asp.net / vb / code-behind <p class= Créer une page aspx et son code vb/cs associé avec le Framework [ par cbu ] Salut,je me demandais s'il était possible de créer par code une page aspx et son code behind associé un peu comme visual fait ?Merci UpdatePanel et callback d'une chart s'arretent de fonctionner apres l'execution d'un code javascript [ par waelyh ] Bonjour tout le monde, je suis entrain d'appeler une fenêtre popup a partir d'une page aspx appelé "page1.aspx" en utilisant le code C# suivant: [co


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales