服务器错误: 下拉列表不允许多个选择

本文关键字:选择 不允许 下拉列表 错误 服务器 | 更新日期: 2023-09-27 18:31:23

我有两个下拉列表,我正在添加这样的项目:

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()));
    }
}

当我在按钮单击或自动回发后使用此下拉列表之一时,有以下 HttpException:

在下拉列表列表中,不允许选择多个项目。 (0x80004005)

如果我删除此行,则不会出现错误:

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

错误在此位置触发:

else if (ddUserTarget.SelectedValue == "test")

我现在真的不知道该怎么办...

服务器错误: 下拉列表不允许多个选择

您可能在多个地方将值设置为"选定项"。我建议您在回发之前清除所选项目(在页面末尾)。例如:

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

试试这个。在 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()));                
            }
        }