服务器错误:DropDownList不允许多项选择

时间:2013-09-16 08:38:43

标签: c# asp.net

我有两个DropDownLists,我正在添加这样的项目:

using (SqlDataReader reader = command.ExecuteReader())
{
    ddUserTarget.Items.Add(new ListItem(" ", "empty534534545"));
    while (reader.Read())
    {
        ddUsersSource.Items.Add(new ListItem(reader[1].ToString(), reader[0].ToString()));
        ddUserTarget.Items.Add(new ListItem(reader[1].ToString(), reader[0].ToString()));
    }
}

当我在点击按钮或自动回复后使用其中一个DropDownList时,会出现此HttpException:

  

在DropDownList中,不允许选择多个项目。   (0X80004005)

如果我删除此行,则不会显示错误:

ddUserTarget.Items.Add(new ListItem(" ","empty534534545"));

在此位置触发错误:

  

else if(ddUserTarget.SelectedValue ==“test”)

我真的不知道该怎么做......

2 个答案:

答案 0 :(得分:2)

您可能在多个地方为“SelectedItem”设置了一个值。 我建议您在回发前(页面末尾)清除所选项目。 例如:

DropDownList myDDL = new DropDownList();
myDDL.ClearSelection();

答案 1 :(得分:0)

试试这个。在while循环中,您将两次插入相同的项目。

        using (SqlDataReader reader = command.ExecuteReader())
        {
            ddUserTarget.Items.Insert(0,new ListItem("empty534534545"));
            while (reader.Read())
            {
                ddUsersSource.Items.Insert(ddUsersSource.Items.Count,new ListItem(reader[1].ToString(), reader[0].ToString()));                
            }
        }