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 :

[C#] Item_Created : Object reference not set to an instance of an object.


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 22
    Points : 19
    Points
    19
    Par défaut [C#] Item_Created : Object reference not set to an instance of an object.
    Bonjour,
    J'ai un problème lors de la tentative d'accés à une donnée d'un item d'une datalist. J'ai créé une fonction "Item_Created"
    qui tente de cocher la checkbox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    
    void Item_Created(Object sender, DataListItemEventArgs e)
    {
    ((CheckBox)e.Item.FindControl("ck")).Checked=true;
    }
    
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <asp:datalist id="MyList" OnItemCreated="Item_Created" runat="server">
    <HeaderTemplate>...</HeaderTemplate>
    <ItemTemplate> 
    <tr> <td><asp:CheckBox id="ck" runat="server"/> </td></tr>
    ...
    </ItemTemplate>
    <FooterTemplate>... </FooterTemplate>
    </asp:datalist>


    Erreur générée : System.NullReferenceException: Object reference not set to an instance of an object.
    Sur : ((CheckBox)e.Item.FindControl "ck")).Checked=true;

    La requete fonctionne si je vide le "Item_Created" et me génère une 20taine de lignes.

    Même erreur générée lorsque je place uniquement ceci dans le code de la fonction "Item_Created" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int IDC = (int) ((DataRowView)e.Item.DataItem).Row.ItemArray[0];
    Ca fonctionne correctement de la même manière sur une autre page, je comprends absolument pas pourquoi il ne parvient pas à lire les données de l'Item qui appelle la fonction...

    Si qqu'un à une idée du pb...

    (PS : Le but n'est pas de cocher tout bien sûr , mais d'effectuer un test dans la fonction pour appliquer checked false ou true... J'ai allégé le code pour etre plus clair)



  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 22
    Points : 19
    Points
    19
    Par défaut
    Il manquait le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(( e.Item.ItemType == ListItemType.Item)||( e.Item.ItemType == ListItemType.AlternatingItem) ) 
    {
      ... 
    }
    Les header et footer sont considérés commes des Item ?

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

Discussions similaires

  1. erreur: Object reference not set to an instance of an object.
    Par soumamort dans le forum Windows Forms
    Réponses: 14
    Dernier message: 02/05/2008, 17h31
  2. Réponses: 6
    Dernier message: 01/04/2008, 18h36
  3. new : Object reference not set to an instance of an object
    Par zulad dans le forum Windows Forms
    Réponses: 3
    Dernier message: 19/06/2007, 20h35
  4. Object reference not set to an instance of an object
    Par DjRusty dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 24/03/2007, 07h26
  5. Réponses: 1
    Dernier message: 28/12/2006, 11h05

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