Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我对下拉列表有问题_C#_Asp.net_Drop Down Menu - Fatal编程技术网

C# 我对下拉列表有问题

C# 我对下拉列表有问题,c#,asp.net,drop-down-menu,C#,Asp.net,Drop Down Menu,我有一本字典,看起来像这本字典 我还有两个下拉列表。我希望第二个dropdownlist显示数据,具体取决于第一个dropdownlist中选择的项目 因此,我在第二个dropdownlist中添加了一个事件。下面是算法: protected void topicDropDownMenu_SelectedIndexChanged1(object sender, EventArgs e) { string[] chosenItem; chosenItem = null; S

我有一本字典,看起来像这本
字典

我还有两个下拉列表。我希望第二个dropdownlist显示数据,具体取决于第一个dropdownlist中选择的项目

因此,我在第二个dropdownlist中添加了一个事件。下面是算法:

protected void topicDropDownMenu_SelectedIndexChanged1(object sender, EventArgs e)
{
    string[] chosenItem;
    chosenItem = null;
    SubTopicDropDownList.ClearSelection();

    chosenItem = topic[topicDropDownMenu.SelectedItem.Value];

    foreach (string item in chosenItem)
    {
        SubTopicDropDownList.Items.Add(item);
    }

}
实际上,每次我从第一个dropdownlist中选择一个项目时,都会向第二个dropdownlist添加一个字符串数组


但是我希望第二个下拉列表根据在第一个下拉列表中选择的内容替换其值,而不是将这些值添加到第二个下拉列表中已经放置的内容中

在重新加载之前清除列表中的项目?请参阅。

在重新加载列表之前是否清除列表中的项目?请参阅。

子主题DropDownList。ClearSelection()
不会清空列表,它只是取消选择所选项目。您可以在调用
副标题dropdownlist.ClearSelection()之前和之后查看
SelectedIndex
SelectedItem
SelectedValue
的值来确认这一点。实际上,您要做的是使用
子主题dropdownlist.items.clear()
清空/清除整个项目集

因此正确的代码应该是:

protected void topicDropDownMenu_SelectedIndexChanged1(object sender, EventArgs e)
{
    string[] chosenItem;
    chosenItem = null;
    ubTopicDropDownList.Items.Clear();

    chosenItem = topic[topicDropDownMenu.SelectedItem.Value];

    foreach (string item in chosenItem)
    {
        SubTopicDropDownList.Items.Add(item);
    }

}

SubTopicDropDownList.ClearSelection()
不会清空列表,它只是取消选择所选项目。您可以在调用
副标题dropdownlist.ClearSelection()之前和之后查看
SelectedIndex
SelectedItem
SelectedValue
的值来确认这一点。实际上,您要做的是使用
子主题dropdownlist.items.clear()
清空/清除整个项目集

因此正确的代码应该是:

protected void topicDropDownMenu_SelectedIndexChanged1(object sender, EventArgs e)
{
    string[] chosenItem;
    chosenItem = null;
    ubTopicDropDownList.Items.Clear();

    chosenItem = topic[topicDropDownMenu.SelectedItem.Value];

    foreach (string item in chosenItem)
    {
        SubTopicDropDownList.Items.Add(item);
    }

}

在回答了61个问题之后,您应该真正了解如何格式化代码,并以大写字母开头每个句子。向导,您是100%正确的。不仅当我提问时,而且当我在61个问题后发表评论时,您应该真正了解如何格式化代码并以大写字母开始每个句子。向导,您是100%正确的。不仅当我问问题的时候,而且当我发表评论的时候——没问题——这是你可以看很长时间而不注意的事情:)没问题——这是你可以看很长时间而不注意的事情:)