Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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# 显示相同值的C2组合框下拉列表_C#_Asp.net_Combobox_Drop Down Menu - Fatal编程技术网

C# 显示相同值的C2组合框下拉列表

C# 显示相同值的C2组合框下拉列表,c#,asp.net,combobox,drop-down-menu,C#,Asp.net,Combobox,Drop Down Menu,在我的代码中,我有两个组合框下拉列表,由下面的代码创建。问题是,当DropDownlist的值更改时,另一个值也会更改。你能帮我解决这个问题吗 public class Translate { public string CountryName { get; set; } public string CountryCode { get; set; } } IList<Translate> languages = new List<Translate>()

在我的代码中,我有两个组合框下拉列表,由下面的代码创建。问题是,当DropDownlist的值更改时,另一个值也会更改。你能帮我解决这个问题吗

public class Translate
{
    public string CountryName { get; set; }
    public string CountryCode { get; set; }
}

IList<Translate> languages = new List<Translate>();
languages.Add(new Translate("Select", ""));
languages.Add(new Translate("English", "en"));
languages.Add(new Translate("French", "fr"));
languages.Add(new Translate("Spain", "es"));

ddlFrom.DataSource = languages;
ddlFrom.DisplayMember = "CountryName";
ddlFrom.ValueMember = "CountryCode";

ddlTo.DataSource = languages;
ddlTo.DisplayMember = "CountryName";
ddlTo.ValueMember = "CountryCode"; 

这是因为您将两个下拉列表指向同一个数据源。您需要创建语言的第二个副本以传递给ddlTo.DataSource。

这是因为您将两个下拉列表指向同一个数据源。您需要创建语言的第二个副本以传递给ddlTo.DataSource。

当您使用IList作为数据源时,您正在隐式同步对列表的访问,包括“选定”项的概念。您应该能够简单地使用:

        ddlFrom.Items.Clear();
        ddlTo.Items.Clear();
        foreach (var language in languages)
        {
            ddlFrom.Items.Add(language);
            ddlTo.Items.Add(language);
        }

当您使用IList作为数据源时,您正在隐式同步对列表的访问,包括“选定”项的概念。您应该能够简单地使用:

        ddlFrom.Items.Clear();
        ddlTo.Items.Clear();
        foreach (var language in languages)
        {
            ddlFrom.Items.Add(language);
            ddlTo.Items.Add(language);
        }

谢谢通过执行以下操作解决:IList languagesFrom=新列表;语言从.addnewtranslateselect;来自的语言。添加新的翻译英语,英语;来自的语言。添加新的TranslateFrench,fr;来自的语言。添加新的TranslateSpain,es;IList languagesTo=来自的新列表语言;谢谢通过执行以下操作解决:IList languagesFrom=新列表;语言从.addnewtranslateselect;来自的语言。添加新的翻译英语,英语;来自的语言。添加新的TranslateFrench,fr;来自的语言。添加新的TranslateSpain,es;IList languagesTo=来自的新列表语言;