Ne peut pas avoir plusieurs éléments sélectionnés dans une liste déroulante à l'aide de C#

j'obtiens cette erreur quand j'essaie de sélectionner un élément dans la zone de liste déroulante "Ne peut pas avoir plusieurs éléments sélectionnés dans un DropDownList". Quelqu'un peut s'il vous plaît aider moi je ne sais pas pourquoi je reçois ce. voici mon code:

private void Bind_GridView()
{
this.BindGroupNameList(DropDownList1);
}

 private void GetGroupNameList(DropDownList DropDownList1)
    {
        String strConnString = System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
        SqlConnection con2 = new SqlConnection(strConnString);
        SqlDataAdapter sda = new SqlDataAdapter();
        SqlCommand cmd1 = new SqlCommand("select distinct Name" +
                        " from MyTable");

        cmd1.Connection = con2;
        con2.Open();

        DropDownList1.DataSource = cmd1.ExecuteReader();
        DropDownList1.DataTextField = "Name";
        DropDownList1.DataValueField = "Name";
        DropDownList1.DataBind();
        con2.Close();
        DropDownList1.Items.FindByValue(ViewState["MyFilter"].ToString())
                .Selected = true;
    }

   //on item change
    protected void NameChanged(object sender, EventArgs e)
    {
        DropDownList DropDownList1 = (DropDownList)sender;
        ViewState["MyFilter"] = DropDownList1.SelectedValue;
        this.Bind_GridView();
    }

et voici mon dropdownbox en aspx

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="NameChanged"
                        DataTextField="Name" DataValueField="Name" 
                        AppendDataBoundItems="true">
                        <asp:ListItem Text="ALL" Value="ALL"></asp:ListItem>
                        <asp:ListItem Text="Top 10" Value="10"></asp:ListItem>
                    </asp:DropDownList>

Voici le code pour le chargement de la page:

protected void Page_Load(object sender, EventArgs e)
    {

        if (!Page.IsPostBack)
        {

            ViewState["MyFilter"] = "ALL";
            this.Bind_GridView();


        }

}

ici est la méthode qui appelle GetGroupNameList:

 private void Bind_GridView()
    {
        DataTable dt = new DataTable();
        String strConnString = System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
        SqlConnection con = new SqlConnection(strConnString);
        SqlDataAdapter sda = new SqlDataAdapter();
        SqlCommand cmd = new SqlCommand("sp_filter_Names");
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@MyFilter", ViewState["MyFilter"].ToString());
        cmd.Connection = con;
        sda.SelectCommand = cmd;
        sda.Fill(dt);
        GV_Test.DataSource = dt;
        GV_Test.DataBind();
        GetGroupNameList();

    }
il n'existe aucun code dans le page_load si oui, alors pl. post que trop.
Ratina, j'ai ajouté le code pour le chargement de la page. thnx
eh bien il n'y a pas de problème ajouter une ligne dans GetGroupNameList(DropDownList DropDownList1) avant DropDownList1.Éléments.FindByValue(ViewState["MyFilter"].ToString()) .Selected = true; insert--> DropDownList1.selectedIndex=-1;
ajouté mais toujours même problème.
Qui vous a dit que vous pouvez sélectionner plusieurs éléments dans la liste déroulante? DropDownList est une zone de liste déroulante dans laquelle vous ne pouvez sélectionner qu'un seul élément, pour une sélection multiple, vous devez utiliser la zone de liste ou similaire de contrôle. Je suis même surpris de voir que tout le monde est, ce qui suggère une réponse ici.

OriginalL'auteur moe | 2013-04-17