0

我有两个 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")

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

4

2 回答 2

2

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

DropDownList myDDL = new DropDownList();
myDDL.ClearSelection();
于 2013-09-16T08:52:28.813 回答
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()));                
            }
        }
于 2013-09-16T09:01:55.873 回答