Le "SelectedIndex" et "SelectedValue' attributs sont mutuellement exclusifs

Pour être honnête, c'est ma première fois de voir une telle erreur

The 'SelectedIndex' and 'SelectedValue' attributes are mutually exclusive

C'est là que l'erreur se produit. Il se produit à la databind.

protected void FillDropdown(DropDownList ddl)
{
    using (var connAdd = new SqlConnection("Data Source = localhost; Initial Catalog = MajorProject; Integrated Security= SSPI"))
    {
        connAdd.Open();

        var sql = "Select policeid from PoliceAccount where status ='available' and handle ='offcase' and postedto='" + ddllocation.SelectedValue + "'";
        using (var cmdAdd = new SqlDataAdapter(sql, connAdd))
        {
            DataSet ds2 = new DataSet();
            cmdAdd.Fill(ds2);

            ddl.Items.Clear();
            ddl.DataSource = ds2;
            //error occurs here
            ddl.DataBind();
            ddl.Items.Insert(0, new ListItem("Police ID", ""));
            ddl.SelectedIndex = 0;
        }
    }
}

Je ne suis pas très sûr de savoir pourquoi seraient-ils dire une telle chose. J'ai utilisé ce FillDropdown dans mon dropdownlist.

protected void ddlpid1_SelectedIndexChanged(object sender, EventArgs e)
{
    if (ddlpid1.SelectedIndex > 0)
    {
        Session["pid1"] = ddlpid1.SelectedValue;

        ListItem removeItem2 = ddlpid2.Items.FindByValue(ddlpid1.SelectedValue);
        ddlpid2.Items.Remove(removeItem2);
        ListItem removeItem3 = ddlpid3.Items.FindByValue(ddlpid1.SelectedValue);
        ddlpid3.Items.Remove(removeItem3);
        ListItem removeItem4 = ddlpid4.Items.FindByValue(ddlpid1.SelectedValue);
        ddlpid4.Items.Remove(removeItem4);
        ListItem removeItem5 = ddlpid5.Items.FindByValue(ddlpid1.SelectedValue);
        ddlpid5.Items.Remove(removeItem5);
    }
    else if (ddlpid1.SelectedItem.Text.Equals("Police ID"))
    {
        FillDropdown(ddlpid1);
        FillDropdown(ddlpid2);
        FillDropdown(ddlpid3);
        FillDropdown(ddlpid4);
        FillDropdown(ddlpid5);

        ddlpid2.SelectedValue = (String) Session["pid2"];
        ddlpid2_SelectedIndexChanged(this, EventArgs.Empty);

        ddlpid3.SelectedValue = (String) Session["pid3"];
        ddlpid3_SelectedIndexChanged(this, EventArgs.Empty);

        ddlpid4.SelectedValue = (String) Session["pid4"];
        ddlpid4_SelectedIndexChanged(this, EventArgs.Empty);

        ddlpid5.SelectedValue = (String) Session["pid5"];
        ddlpid5_SelectedIndexChanged(this, EventArgs.Empty);
    }
}

Je regarde mes codes, plusieurs fois, et je vois un clash dans la propriété selectedindex et de la valeur sélectionnée. Tous d'entre eux travaille individuellement comme des fonctions distinctes.

Quelle est l'erreur que vous avez?
je l'ai écrit dans le titre mais je vais le ramener à la question de l'article
qui ligne/partie du code est de donner à cette erreur ?
J'ai ajouté une ligne de commentaire qui montre l'erreur. C'est à la databind.
À partir de ce que je peux dire c'est dû au fait que l'appel de FillDropdown(ddlpid2); définir la propriété SelectedIndex valeur et d'après ce que vous appelez ddlpid2.SelectedValue = (String) Session["pid2"];, qui définit la SelectedValue, vous ne pouvez pas le faire dans un événement unique? forums.asp.net/t/1189510.aspx

OriginalL'auteur Teo Chuen Wei Bryan | 2013-08-06