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 :

Ajout dynamique d'un DropDownList [Débutant]


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 84
    Par défaut Ajout dynamique d'un DropDownList
    Bonsoir à toutes et à tous,

    J'ai un exercice à faire pour les cours. Bon je sais je commence mal car ça n'est pas à vous de vous le farcir. Mais car il y a un mais, mon exercice fonctionne bien.

    Cependant j'ai juste une problème sur le positionnement du DropDownList.

    Voici mon code :

    Site.master
    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
    54
     
    <%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.master.cs" Inherits="SiteMaster" %>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
        <link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
        <asp:ContentPlaceHolder ID="HeadContent" runat="server">
        </asp:ContentPlaceHolder>
    </head>
    <body>
    <form id="form1" runat="server">
        <div class="page">
            <div class="header">
                <div class="title">
                    <h1>
                        Mon application ASP.NET
                    </h1>
                </div>
                <div class="loginDisplay">
                    <asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false">
                        <AnonymousTemplate>
                            [ <a href="~/Account/Login.aspx" ID="HeadLoginStatus" runat="server">Se connecter</a> ]
                        </AnonymousTemplate>
                        <LoggedInTemplate>
                            Bienvenue <span class="bold"><asp:LoginName ID="HeadLoginName" runat="server" /></span>!
                            [ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Se déconnecter" LogoutPageUrl="~/"/> ]
                        </LoggedInTemplate>
                    </asp:LoginView>
                </div>
                <div class="clear hideSkiplink">
                    <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
                        <Items>
                            <asp:MenuItem NavigateUrl="~/Default.aspx" Text="Accueil"/>
                            <asp:MenuItem NavigateUrl="~/Default2.aspx" Text="DropDownList" />
                            <asp:MenuItem NavigateUrl="~/About.aspx" Text="À propos de"/>
                        </Items>
                    </asp:Menu>
                </div>
            </div>
            <div class="main">
                <asp:ContentPlaceHolder ID="MainContent" runat="server"/>
            </div>
            <div class="clear">
            </div>
        </div>
        <div class="footer">
     
        </div>
    </form>
    </body>
    </html>

    Page avec le DropDownList
    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
     
    <%@ Page Title="DropdownList" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
        CodeFile="Default2.aspx.cs" Inherits="Default2" %>
     
    <asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
    </asp:Content>
    <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
        <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" 
            onselectedindexchanged="DropDownChange">
            <asp:ListItem Text="Choisissez..." Value="0" />
            <asp:ListItem Text="A --> I" Value="1" />
            <asp:ListItem Text="J --> Q" Value="2" />
            <asp:ListItem Text="R --> Z" Value="3" />
        </asp:DropDownList>
        <br />
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
        <br />
    </asp:Content>
    et son code CS
    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
    54
    55
    56
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Drawing;
     
    public partial class Default2 : System.Web.UI.Page
    {
        protected override void OnLoad(EventArgs e)
        {
            DropDownList listLettre = new DropDownList();
            listLettre.ID = "ListLettres";
            listLettre.AutoPostBack = true;
            listLettre.SelectedIndexChanged += listeLettres_SelectedIndexChanged;
            listLettre.Visible = false;
            Master.FindControl("form1").Controls.Add(listLettre);
            base.OnLoad(e);
        }
     
        protected void Page_Load(object sender, EventArgs e){}
     
        protected void DropDownChange(object sender, EventArgs e)
        {
            int valSelected;
            if (int.TryParse(((DropDownList)sender).SelectedValue, out valSelected))
            {
                string chaine = string.Empty;
                DropDownList listLettre = (DropDownList)Master.FindControl("form1").FindControl("ListLettres");
                switch (valSelected)
                {
                    case 1:
                        chaine = "ABCDEFGHI";
                        break;
                    case 2:
                        chaine = "JKLMNOPQ";
                        break;
                    case 3:
                        chaine = "RSTUVWXYZ";
                        break;
                }
                foreach (Char c in chaine)
                {
                    listLettre.Items.Add(new ListItem(c.ToString(), c.ToString()));
                }
                listLettre.Visible = true;
            }
        }
     
        protected void listeLettres_SelectedIndexChanged(Object sender, EventArgs e)
        {
            Label1.Text = string.Format("Vous avez choisi {0}", ((DropDownList)sender).SelectedValue);
        }
    }
    Mon problème est que j'ai un cadre en milieu de page contenant ma première DropDownList et mon Label. Lorsque que change la valeur de ma première DropDownList alors j'affiche la deuxième. Mais la deuxième s'affiche tout en bas à gauche de la page. Je sais pourquoi. Mais ma question est comment est ce que je peux venir mettre cette Deuxième DropDownList à côté de l'autre ?

    Si vous avez besoin de plus d'informations faite le moi savoir.

    Si une âme charitable passe par la je suis tout ouï.

    Bien amicalement Boobs

  2. #2
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Les contrôles s'ajoutent les uns après les autres. Si tu veux être certain de sont emplacement, tu peux l'ajouter dans le code inline et jouer sur la visibilité. Ou bien, tu positionnes un placeholder dans lequel tu pourras ajouter la liste.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 84
    Par défaut
    Effectivement, le fait d'ajouter un placeholder à solutionné mon problème.

    Merci beaucoup Immobilis pour ton aide efficace et rapide ^^

    en te souhaitant une bonne soirée.

    Bien amicalement Boobs60

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

Discussions similaires

  1. [VBA] Ajouter dynamiquement une référence
    Par jpharand dans le forum VBA Access
    Réponses: 23
    Dernier message: 16/04/2010, 23h28
  2. Réponses: 3
    Dernier message: 04/04/2007, 22h45
  3. ajouter dynamiquement des items dans un popup menu
    Par Malone dans le forum Composants VCL
    Réponses: 7
    Dernier message: 23/08/2005, 16h08
  4. Réponses: 2
    Dernier message: 10/05/2005, 15h54
  5. Ajout dynamique d'un contrôle à une fenêtre
    Par Yacine95000 dans le forum MFC
    Réponses: 6
    Dernier message: 08/06/2004, 16h03

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