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 :

controle utilisateur et formview


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Par défaut controle utilisateur et formview
    Bonjour, j'ai besoin d'aide, ca fait trois jours que je tourne en rond dans ce problème. Précision, je suis loin d'être un expert en C#.

    J'ai fait un contrôle utilisateur (ecole1) qui gère le remplissage et la gestion d'une dropdownList toute simple.

    Lorsque j'intègre ce contrôle utilisateur dans une page web pas de probleme, je peux m'en servir. voici ce que contient le page onload

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       protected void Page_Load(object sender, EventArgs e)
        {
            this.ecole1.dropdownList1_OnSelectedIndexChangedExport += new EventHandler(ecole1_OnSelectedIndexChanged);
        }

    Ca se gâte lorsque j'intègre le contrôle utilisateur non pas directement dans la page web, mais dans la page web à l'intérieur d'un formView. IMPOSSIBLE D'ARRIVER A DÉCLARER LE dropdownList1_OnSelectedIndexChangedExport
    voila ce que je met dans le pageLoad

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    protected void Page_Load(object sender, EventArgs e)
        {
            UserControl uc = (UserControl)FormView1.FindControl("ecole1");
            uc.dropdownList1_OnSelectedIndexChangedExport+=new EventHandler(ecole1_OnSelectedIndexChanged);
        }

    voila les codes d'erreurs que j'ai

    Erreur 1 'System.Web.UI.UserControl' ne contient pas de définition pour 'dropdownList1_OnSelectedIndexChangedExport' D:\applis\ASP.NET\BanouSite\ascx\xxx.aspx 20 12 D:\...\BanouSite\
    Erreur 2 'ASP.ascx_xxx_aspx' ne contient pas de définition pour 'ecole1' D:\applis\ASP.NET\BanouSite\ascx\xxx.aspx 33 35 D:\...\BanouSite\
    En résumé impossible d'atteindre mon contrôle utilisateur dés l'instant ou je l'intègre dans une formView

    HELP PLEASE je suis au bord du nervous breakdown !!!

  2. #2
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    C'est normal, car tu cast ton UserControl en.... UserControl, la calsse mère de ton contrôle, qui bien sûr ne contient pas ta liste déroulante.
    Il te faut caster ton UserControl dans son type. Donc si le nom de la classe de ton UserControl est Ecole :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    protected void Page_Load(object sender, EventArgs e)  
    {
      Ecole uc = (Ecole)FormView1.FindControl("ecole1");
      uc.dropdownList1_OnSelectedIndexChangedExport+=new EventHandler(ecole1_OnSelectedIndexChanged); 
    }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Par défaut
    Citation Envoyé par guitoux1
    C'est normal, car tu cast ton UserControl en.... UserControl, la calsse mère de ton contrôle, qui bien sûr ne contient pas ta liste déroulante.
    Il te faut caster ton UserControl dans son type. Donc si le nom de la classe de ton UserControl est Ecole :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    protected void Page_Load(object sender, EventArgs e)  
    {
      Ecole uc = (Ecole)FormView1.FindControl("ecole1");
      uc.dropdownList1_OnSelectedIndexChangedExport+=new EventHandler(ecole1_OnSelectedIndexChanged); 
    }
    Merci de ta réponse mais ca ne va toujours pas.
    Je n'ai pas de classe Ecole, j'ai donc ajouter un className dans ma page controle utilisateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ Control  ClassName="Ecole" Language="C#" AutoEventWireup="true" CodeFile="dropDown.ascx.cs" Inherits="ascx_WebUserControl" %>
    Puis dans onLoad
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     protected void Page_Load(object sender, EventArgs e)
        {
            Ecole uc = (Ecole)FormView1.FindControl("ecole1");
            uc.dropdownList1_OnSelectedIndexChangedExport+=new EventHandler(ecole1_OnSelectedIndexChanged);
        }
    j'ai le même pb
    L'exception System.NullReferenceException n'a pas été gérée par le code utilisateur
    Message="La référence d'objet n'est pas définie à une instance d'un objet."
    Source="App_Web_coqs4ujj"
    StackTrace:
    à ASP.ascx_xxx_aspx.Page_Load(Object sender, EventArgs e) dans d:\applis\ASP.NET\BanouSite\ascx\xxx.aspx:ligne 18
    à System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
    à System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
    à System.Web.UI.Control.OnLoad(EventArgs e)
    à System.Web.UI.Control.LoadRecursive()
    à System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

    On dirait qu'il ne trouve pas ecole1
    Tu as une idée ?
    Merci d'avance
    mon controle utilisateur se trouve dans ecole.ascx
    mon fichier ou je l'implemente s'appelle xxx.aspx

  4. #4
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    Merci de ta réponse mais ca ne va toujours pas.
    Je n'ai pas de classe Ecole, j'ai donc ajouter un className dans ma page controle utilisateur
    ??? Tu as bien un fichier de codebehind avec ton UserControl nom ?
    Donc tu as une classe, et donc elle a un nom.
    J'ai dis Ecole mais j'aurais pu dire autre chose, je ne connais pas le nom que tu as donné à ton UserControl

    j'ai le même pb
    Ben non, c'est pas le même problème, vu que c'est pas le même message d'erreur.
    Le premier message d'erreur disait qu'il ne trouvait pas le control DropDownList dans uc.
    Celui-ci est un pointeur null.

    Je reste sur la même solution que proposée au début : il te faut caster ton Usercontrol dans le bon type, plutot que dans le type englobant UserControl

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Par défaut C'est bon
    J'ai résolu mon pb, la syntaxe que tu m'avais donné était bonne et le pb venait du fait que le formview n'était pas configuré.

    Merci du coup de main

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

Discussions similaires

  1. [C#] Controles utilisateurs
    Par iamspacy dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/05/2006, 20h42
  2. [VB.Net] Regrouper des controles utilisateurs
    Par Jsh dans le forum Windows Forms
    Réponses: 4
    Dernier message: 07/04/2006, 13h39
  3. [VB]Gérer la liaison entre controle utilisateur et form
    Par Ooly2001 dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 23/01/2006, 09h50
  4. Réponses: 4
    Dernier message: 17/01/2006, 09h49
  5. Réponses: 68
    Dernier message: 30/11/2005, 17h29

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