无法在DropDownList中选择多个项目

RG-*_*G-3 36 .net c# asp.net

我有两个下拉列表和一个按钮.我在项目中使用了断点,一切正常.但是,一旦我退出按钮的功能,这就是我得到的错误:

无法在DropDownList中选择多个项目.

这是我按钮的代码:

 protected void Button1_Click(object sender, EventArgs e)
    {

        if (ddlPlayer1.SelectedItem.Value != "0" || ddlPlayer2.SelectedItem.Value != "0" && ddlPlayer1.SelectedItem.Value != ddlPlayer2.SelectedItem.Value)
        {
            lblPlayer1Score.Text = Repository.Instance.ReturnScore(ddlPlayer1.SelectedValue.ToString(), ddlPlayer2.SelectedValue.ToString()).Rows[0][0].ToString();
            lblPlayer2Score.Text = Repository.Instance.ReturnScore(ddlPlayer2.SelectedValue.ToString(), ddlPlayer1.SelectedValue.ToString()).Rows[0][0].ToString();


        }

        ddlPlayer1.DataBind();
        ddlPlayer2.DataBind();
    }
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

小智 107

通常在加载ddl时会发生此错误,如下所示:

ddl.FindByValue("parameter").Selected = true; 
Run Code Online (Sandbox Code Playgroud)

要克服此错误,您应该清除以前选择的ddl,如下所示:

ddl.ClearSelection();
ddl.FindByValue("parameter").Selected = true; 
Run Code Online (Sandbox Code Playgroud)

或者您可以执行以下操作:

ddl.SelectedItem = "parameter";
Run Code Online (Sandbox Code Playgroud)

我希望我能帮助别人.;-)

  • ClearSelection()就是我所需要的! (4认同)

Rud*_*rik 52

确保您没有将多个ddls数据绑定到同一数据源.被选中是一个项目的属性,因此,如果不同的ddls从同一个数据源中选择不同的项目,每个ddls最终会选择多个项目,这可能是这里发生的事情.

  • 如果将相同的ListItem添加到多个ddl,这也会在未绑定的DropDownList中发生. (11认同)
  • 谢谢@Laramie,这正是我所做的。我创建了一个“请选择”列表项并将其添加到每个下拉列表中。这似乎让该网站感到困惑。为每个下拉菜单重新创建它就成功了 (2认同)

ala*_*sdk 19

此代码将解决此问题:

YourDropDownId.ClearSelection(); 
Run Code Online (Sandbox Code Playgroud)