IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

'N'existe pas dans le contexte actuel' dès que condition


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 46
    Points : 35
    Points
    35
    Par défaut 'N'existe pas dans le contexte actuel' dès que condition
    Si je fais:
    TextBox PeriodeHome = "Ceci" as TextBox;
    Je récupère sans problème mon PeriodeHome.Text

    Cependant si je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if (GridView1.Rows.Count == 0)
            {
                TextBox PeriodeHome = "Ceci" as TextBox;
            }
            else
            {
                TextBox PeriodeHome = "Cela" as TextBox;
            }
    Il me colle alors: 'Le nom 'PeriodeHome' n'existe pas dans le contexte actuel.'
    Que faire?

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Tu souhaites faire quoi?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 46
    Points : 35
    Points
    35
    Par défaut
    J'ai une gridview avec champ et bouton Insert dans le footer. Si je n'ai pas de données, c'est plutôt EmptyTemplateField qui s'affiche, avec fonction similaire d'Insert. Jusqu'ici pas de problème.

    Quand j'ai des données, je récupère ainsi le texte entré dans le footer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBox PeriodeHome = GridView1.FooterRow.FindControl("PeriodeHomeTextBox") as TextBox;
    Ça marche.

    Quand pas de données, je récupère dans le EmptyTemplateField:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBox PeriodeHome = ((Button)(sender)).NamingContainer.FindControl("PeriodeHomeTextBoxEmpty") as TextBox;
    Ça marche.

    Dès que je mets ça dans une condition ça plante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    void ButtonInputButsHome_Click(object sender, EventArgs e)
        {
            // SI PREMIER ENREGISTREMENT, PREND EMPTYTEMPLATEFIELD, SINON PREND FOOTER
     
            if (GridView1.Rows.Count == 0)
            {
                TextBox PeriodeHome = ((Button)(sender)).NamingContainer.FindControl("PeriodeHomeTextBoxEmpty") as TextBox;
            }
            else
            {
                TextBox PeriodeHome = GridView1.FooterRow.FindControl("PeriodeHomeTextBox") as TextBox;
            }
     
            // INSERE DANS MA BASE LE CONTENU DE PeriodeHome
     
            ADSScoresheetHome.InsertParameters["GameDataPeriode"].DefaultValue = PeriodeHome.Text;
            ADSScoresheetHome.Insert();
     
        }
    Et voilà 'Le nom 'PeriodeHome' n'existe pas dans le contexte actuel.'

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 46
    Points : 35
    Points
    35
    Par défaut
    J'ai trouvé. Il s'agissait de déclarer mon TextBox en dehors de ma condition.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    TextBox PeriodeHome;
    if (GridView1.Rows.Count == 0)
    {
    PeriodeHome = ((Button)(sender)).NamingContainer.FindControl("PeriodeHomeTextBoxEmpty") as TextBox;
    }
    else
    {
    PeriodeHome = GridView1.FooterRow.FindControl("PeriodeHomeTextBox") as TextBox;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème : n'existe pas dans le contexte actuel
    Par darkitashi dans le forum Windows Mobile
    Réponses: 4
    Dernier message: 26/04/2010, 13h49
  2. Réponses: 3
    Dernier message: 10/12/2009, 16h56
  3. Erreur: Le nom n'existe pas dans le contexte actuel
    Par khawlita dans le forum Accès aux données
    Réponses: 1
    Dernier message: 07/04/2009, 18h37
  4. Le nom 'ctrl' n'existe pas dans le contexte actuel
    Par altair8080 dans le forum C#
    Réponses: 0
    Dernier message: 04/11/2008, 18h56
  5. Réponses: 3
    Dernier message: 25/06/2008, 14h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo