0

我正在使用此查询来填充我的 ASP.NET 页面上的下拉列表:

using (CountriesRegionsDataContext db = new CountriesRegionsDataContext())
        {
            ddlCountry.Items.Clear();
            ddlCountry.DataSource = from c in db.CountryCodes orderby c.CountryName select c;
            ddlCountry.DataTextField = "CountryName";
            ddlCountry.DataValueField = "CountryCode1";
            ddlCountry.AppendDataBoundItems = true;
            ddlCountry.DataBind();
            ddlCountry.Items.Insert(0, new ListItem("- Select a country -", "0"));
        }

数据源是一个简单的 SQL 表,其中不包含重复项。但是,当我的页面呈现时,绑定数据在下拉列表控件 (a-za-z) 中重复两次。

有谁知道可能会发生什么?使用 distinct() 似乎不能解决问题(并且表中没有重复数据),我尝试将 ToList() 添加到我的查询末尾,但这似乎也没有解决它。

4

1 回答 1

4

无耻地窃取亚当马拉斯的评论并发布作为答案:

这意味着,在页面生命周期的后期,某处ddlCountry.DataBind()再次调用,这导致控件再次将数据源的内容添加到列表中。

于 2013-06-21T18:57:14.010 回答