LINQ查询返回结果集两次

时间:2013-06-21 18:47:25

标签: c# asp.net sql linq linq-to-sql

我正在使用此查询填充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()添加到查询的末尾,而且似乎也没有修复它。 / p>

1 个答案:

答案 0 :(得分:4)

无耻地窃取Adam Maras的评论和发帖作为答案:

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