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 :

Impossible de trouver le contrôle 'DropDownList1' dans ControlParameter 'ID'. (ASP.NET 2.0/ VB)


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 75
    Par défaut Impossible de trouver le contrôle 'DropDownList1' dans ControlParameter 'ID'. (ASP.NET 2.0/ VB)
    Bonjour,

    J'ai un probléme au niveau de ma DropDownListe et mon Gridview. Lorsque je sélectionne un élement dans ma DDL il me l'affiche dans ma Gridview.
    Mais le probléme c'est qu'il m'affiche un message d'erreur
    Impossible de trouver le contrôle 'DropDownList1' dans ControlParameter 'ID_groupe'.
    sachant que j'ai un groupe qui contient des utilisateurs !!

    Voiçi mon code: sur ASPX

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    <asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
       <h3>Choisisez un Groupe</h3> &nbsp;
        <center>
            <asp:DropDownList ID="DropDownList1" runat="server" 
                DataSourceID="Groupe_utilisateurs" DataTextField="NOM" 
                DataValueField="ID_groupe" Height="18px" Width="178px" 
                AppendDataBoundItems="True" EnableViewState="False">
            <asp:ListItem Value="-1">--groupe--</asp:ListItem>
        </asp:DropDownList>
            <asp:ObjectDataSource ID="Groupe_utilisateurs" runat="server" 
                OldValuesParameterFormatString="original_{0}" 
                SelectMethod="GetGroupes" TypeName="Groupes">
            </asp:ObjectDataSource>
        </center> 
     
    </asp:Content>
    <asp:Content ID="Content4" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            CellPadding="4" DataKeyNames="UserId" DataSourceID="detail_groupe" 
            ForeColor="#333333" GridLines="None" Height="238px" 
            EnableViewState="False">
            <RowStyle BackColor="#E3EAEB" />
            <Columns>
                <asp:BoundField DataField="UserId" HeaderText="UserId" ReadOnly="True" 
                    SortExpression="UserId" />
                <asp:BoundField DataField="UserName" HeaderText="UserName" 
                    SortExpression="UserName" />
                <asp:BoundField DataField="Password" HeaderText="Password" 
                    SortExpression="Password" />
                <asp:BoundField DataField="Email" HeaderText="Email" 
                    SortExpression="Email" />
                <asp:BoundField DataField="CreateDate" HeaderText="CreateDate" 
                    SortExpression="CreateDate" />
                <asp:BoundField DataField="LastLoginDate" HeaderText="LastLoginDate" 
                    SortExpression="LastLoginDate" />
            </Columns>
            <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
            <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
            <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
            <EditRowStyle BackColor="#7C6F57" />
            <AlternatingRowStyle BackColor="White" />
        </asp:GridView>
        <asp:ObjectDataSource ID="detail_groupe" runat="server" 
            OldValuesParameterFormatString="original_{0}" 
            SelectMethod="GetEmployeeByGroupeID" TypeName="Employes">
            <SelectParameters>
                <asp:ControlParameter ControlID="DropDownList1" Name="GroupeId" 
                    PropertyName="SelectedValue" Type="Int32" />
            </SelectParameters>
        </asp:ObjectDataSource>
        </asp:Content>
    code requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT        aspnet_Membership.UserId, Groupe_utilisateur.UserName, aspnet_Membership.Password, Groupe_utilisateur.ID_groupe, aspnet_Membership.Email
    FROM            aspnet_Membership INNER JOIN
                             aspnet_Profile ON aspnet_Membership.UserId = aspnet_Profile.UserId INNER JOIN
                             Groupe_utilisateur ON aspnet_Profile.ID_groupe = Groupe_utilisateur.ID_groupe
    WHERE        (aspnet_Profile.ID_groupe = @ID_groupe)
    --------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function GetGroupeUtilisateurID(ByVal ID_groupe As Integer) As ASTRALDBF.GroupesDataTable
            Return Adapter.Get_Groupe_ID(ID_groupe)
        End Function

  2. #2
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Bonjour,

    Essaye ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:controlparameter name="SelectedUserGroup" controlid="DropDownList1" propertyname="SelectedValue"/>
    Et dans ta SelectMethod nomme bien le paramètre SelectedUserGroup, c'est important (ou un autre nom, mais il doit être identique dans ton ControlParameter et ta SelectMethod).

    En espérant t'avoir aidé.

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 75
    Par défaut
    bonjour,
    ça ne marche pas

  4. #4
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Avec ceci, ça fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <asp:ObjectDataSource ID="Groupe_utilisateurs" runat="server" OldValuesParameterFormatString="original_{0}"
    SelectMethod="GetGroupes" TypeName="TON_NAMESPACE.TA_CLASSE"></asp:ObjectDataSource>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <asp:ObjectDataSource ID="detail_groupe" runat="server" OldValuesParameterFormatString="original_{0}"
    SelectMethod="GetEmployeeByGroupeID" TypeName="TON_NAMESPACE.TA_CLASSE">
    <SelectParameters>
    <asp:ControlParameter ControlID="DropDownList1" Name="GroupeId" PropertyName="SelectedValue"
    Type="Int32" />
    </SelectParameters>
    </asp:ObjectDataSource>
    Et les méthodes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public List<Employes> GetEmployeeByGroupeID(int GroupeId)
    public List<Groupes> GetGroupes()
    En espérant t'avoir aidé.

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 75
    Par défaut
    Voiçi mes methode pour Groupe:
    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
    20
    21
    22
    23
    24
    Imports Microsoft.VisualBasic
    Imports ASTRALDBFTableAdapters
    <System.ComponentModel.DataObject()> _
    Public Class Groupes
        Private _GroupeAdapter As GroupesTableAdapter = Nothing
        Protected ReadOnly Property Adapter() As GroupesTableAdapter
            Get
                If _GroupeAdapter Is Nothing Then
                    _GroupeAdapter = New GroupesTableAdapter()
                End If
     
                Return _GroupeAdapter
            End Get
        End Property
     
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, True)> _
        Public Function GetGroupes() As ASTRALDBF.GroupesDataTable
            Return Adapter.Get_Groupe()
        End Function
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, False)> _
        Public Function GetGroupeUtilisateurID(ByVal ID_groupe As Integer) As ASTRALDBF.GroupesDataTable
            Return Adapter.Get_Groupe_ID(ID_groupe)
        End Function
    End Class
    -------------
    methode pour Utilisateurs:
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Imports Microsoft.VisualBasic
    Imports ASTRALDBFTableAdapters
    <System.ComponentModel.DataObject()> _
    Public Class Employes
        Private _employesAdapter As UtilisateursTableAdapter = Nothing
        Protected ReadOnly Property Adapter() As UtilisateursTableAdapter
            Get
                If _employesAdapter Is Nothing Then
                    _employesAdapter = New UtilisateursTableAdapter()
                End If
     
                Return _employesAdapter
            End Get
        End Property
     
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, True)> _
        Public Function GetEmployees() As ASTRALDBF.UtilisateursDataTable
            Return Adapter.Get_utilisateur()
        End Function
     
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, False)> _
        Public Function GetEmployeeByGroupeID(ByVal ID_groupe As Integer) As ASTRALDBF.UtilisateursDataTable
            If ID_groupe < 0 Then
                Return GetEmployees()
            Else
                Return Adapter.Get_UtilisateurBy_GroupeID(ID_groupe)
            End If
        End Function
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, False)> _
        Public Function GetUtilisateursByUserId(ByVal UserId As Guid) As ASTRALDBF.UtilisateursDataTable
            Return Adapter.Get_utilisateursBy_UserID(UserId)
        End Function
     
    End Class
    sachant que les requetes fonctionnes

  6. #6
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Primo, pense à utiliser la balise CODE, c'est illisible.

    Secundo la réponse est sous tes yeux, il faut apprendre à chercher par soi même de temps en temps. . Je réitère mon conseil, regarde la définition du ControlParameter GroupeId et ID_Groupe ça n'est pas la même chose....

  7. #7
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 75
    Par défaut
    dsl
    mais c'été l'ancien code je l'ai changé et j'ai oublié de te le donner !!
    mais le probléme réside encore !!
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    <asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
       <h3>Choisisez un Groupe</h3> &nbsp;
        <center>
            <asp:DropDownList ID="DropDownList1" runat="server" 
                DataSourceID="Groupe_utilisateurs" DataTextField="NOM" 
                DataValueField="ID_groupe" Height="18px" Width="178px" 
                AppendDataBoundItems="True" EnableViewState="False">
            <asp:ListItem Value="-1">--groupe--</asp:ListItem>
        </asp:DropDownList>
            <asp:ObjectDataSource ID="Groupe_utilisateurs" runat="server" 
                OldValuesParameterFormatString="original_{0}" 
                SelectMethod="GetGroupes" TypeName="Groupes">
            </asp:ObjectDataSource>
        </center> 
     
    </asp:Content>
    <asp:Content ID="Content4" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            CellPadding="4" DataKeyNames="UserId" DataSourceID="groue_Utilisateurs" 
            ForeColor="#333333" GridLines="None" Height="238px" 
            EnableViewState="False">
            <RowStyle BackColor="#E3EAEB" />
            <Columns>
                <asp:BoundField DataField="UserId" HeaderText="UserId" ReadOnly="True" 
                    SortExpression="UserId" />
                <asp:BoundField DataField="UserName" HeaderText="UserName" 
                    SortExpression="UserName" />
                <asp:BoundField DataField="Password" HeaderText="Password" 
                    SortExpression="Password" />
                <asp:BoundField DataField="Email" HeaderText="Email" 
                    SortExpression="Email" />
                <asp:BoundField DataField="CreateDate" HeaderText="CreateDate" 
                    SortExpression="CreateDate" />
                <asp:BoundField DataField="LastLoginDate" HeaderText="LastLoginDate" 
                    SortExpression="LastLoginDate" />
            </Columns>
            <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
            <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
            <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
            <EditRowStyle BackColor="#7C6F57" />
            <AlternatingRowStyle BackColor="White" />
        </asp:GridView>
        <asp:ObjectDataSource ID="groue_Utilisateurs" runat="server" 
            OldValuesParameterFormatString="original_{0}" 
            SelectMethod="GetEmployeeByGroupeID" TypeName="Employes">
            <SelectParameters>
                <asp:ControlParameter Name="ID_groupe" ControlID="DropDownList1"  
                    PropertyName="SelectedValue" Type="Int32" Direction="Input" />
            </SelectParameters>
        </asp:ObjectDataSource>
        </asp:Content>

  8. #8
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Le problème réside encore ? Tu as quoi comme message d'erreur précisément et à quel moment ? Le code simplifié à l'extrême que je t'ai donné fonctionne parfaitement.

  9. #9
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 75
    Par défaut
    lors de l'execution, pour consulter ma DDL
    Impossible de trouver le contrôle 'DropDownList1' dans ControlParameter 'ID_groupe'.

    si ça continue comme ça je vais me suicider! lol
    voiçi la trace de la pile:
    [InvalidOperationException: Impossible de trouver le contrôle 'DropDownList1' dans ControlParameter 'ID_groupe'.]
    System.Web.UI.WebControls.ControlParameter.Evaluate(HttpContext context, Control control) +1752282
    System.Web.UI.WebControls.Parameter.UpdateValue(HttpContext context, Control control) +47
    System.Web.UI.WebControls.ParameterCollection.UpdateValues(HttpContext context, Control control) +114
    System.Web.UI.WebControls.ObjectDataSource.LoadCompleteEventHandler(Object sender, EventArgs e) +43
    System.EventHandler.Invoke(Object sender, EventArgs e) +0
    System.Web.UI.Page.OnLoadComplete(EventArgs e) +8699798
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +735

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/04/2011, 17h51
  2. Réponses: 4
    Dernier message: 15/12/2008, 10h02
  3. Réponses: 3
    Dernier message: 13/11/2006, 23h25
  4. Réponses: 1
    Dernier message: 04/04/2006, 11h29

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