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 :

Problème TextBox dynamiques


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Par défaut Problème TextBox dynamiques
    Bonjour,

    Je travaille en C# sur une application web en ASP.NET et j'ai un problème avec des textbox générés dynamiquement: je n'arrive pas à en récupérer le contenu.

    Ici la génération des textbox:
    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
     
    foreach (System.Data.DataColumn col in data.Columns)
    {
    [...]
       //Generate field for data values
       #region
       using (var field = new TextBox())
       {
          field.ID = col.ColumnName;
          field.Text = data.Rows[0].ItemArray[a].ToString();
          if (col.ColumnName.Contains("Id"))
             field.Enabled = false;
          value.Controls.Add(field);
       }
       #endregion
    [...]
    }
    Ici le code pour en récupérer la valeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    foreach (System.Data.DataColumn col in data.Columns)
    {
       string field = ((TextBox)this.FindControl("MainContent").FindControl(col.ColumnName)).Text;
       sql_query = String.Concat(sql_query, field);
    }
    Et l'erreur générée:
    Object reference not set to an instance of an object.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
    Je suis complètement bloqué, balancez toutes vos idées, je suis ouvert à toute proposition qui me ferait éventuellement progresser...

    Merci d'avance.

  2. #2
    Membre averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Par défaut
    Je n'ai pas précisé mais c'est dans le cas d'une update:
    - Les champs sont initialement chargés avec le valeur initiale
    - je cherche à récupérer la valeur après modification

  3. #3
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Et si tu y vas en mode débug avec des points d'arrêts tu ne vois pas l'erreur passer ?

    sql_query est bien initialisée ? value.Controls correspond à quoi ?

  4. #4
    Membre averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Par défaut
    Citation Envoyé par Er3van Voir le message
    Et si tu y vas en mode débug avec des points d'arrêts tu ne vois pas l'erreur passer ?

    sql_query est bien initialisée ? value.Controls correspond à quoi ?
    - sql_query est une string initialisée juste avant le foreach (à la ligne précédente)
    - value est le nom d'une TableCell (les champs sont créés dynamiquement et chargés dans un tableau lui aussi dynamique en fonction du nombre de création de ces champs)

  5. #5
    Membre averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Par défaut
    L'erreur survient lors de la première itération du foreach, sur l'assignation d'une valeur à "field"

  6. #6
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Ok, dans ce cas c'est assez clair.

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    ((TextBox)this.FindControl("MainContent").FindControl(col.ColumnName)).Text

    Il essaye de caster en textbox ça :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    this.FindControl("MainContent").FindControl(col.ColumnName)

    Sauf que s'il ne trouve rien, difficile de caster, et ça lance une exception.

    Essaye comme ça pour t'assurer que ça vient bien de là :

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Textbox tb = this.FindControl("MainContent").FindControl(col.ColumnName); // devrait être null
    string field = tb.Text; // lance l'exception

  7. #7
    Membre averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Par défaut
    Toujours l'erreur suivante:

    System.NullReferenceException: Object reference not set to an instance of an object. at Database_Web_Administrator.Edit.insert_data() in C:\Users\m.pilard\Documents\Visual Studio 2010\Projects\Database Web Administrator\Database Web Administrator\Edit.aspx.cs:line 267System.NullReferenceException: Object reference not set to an instance of an object. at Database_Web_Administrator.Edit.insert_data() in C:\Users\m.pilard\Documents\Visual Studio 2010\Projects\Database Web Administrator\Database Web Administrator\Edit.aspx.cs:line 267System.NullReferenceException: Object reference not set to an instance of an object. at Database_Web_Administrator.Edit.insert_data() in C:\Users\m.pilard\Documents\Visual Studio 2010\Projects\Database Web Administrator\Database Web Administrator\Edit.aspx.cs:line 267

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

Discussions similaires

  1. [AC-2010] problème création dynamique de textbox, erreur 429
    Par zorroe dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 05/03/2012, 10h22
  2. [XL-2003] Probléme textbox dynamique
    Par trblolo dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/07/2009, 18h39
  3. [VBA-E] UserForm avec textbox "Dynamique"
    Par Alex_Kidd dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/05/2006, 00h29
  4. [C++.NET] problème textBox
    Par stgi02 dans le forum VC++ .NET
    Réponses: 5
    Dernier message: 25/04/2006, 11h38
  5. [vb.net] définir un textbox dynamiquement
    Par arnolem dans le forum Windows Forms
    Réponses: 13
    Dernier message: 05/12/2005, 15h51

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