LINQ查询返回两次结果集

本文关键字:两次 结果 查询 返回 LINQ | 更新日期: 2023-09-27 18:19:30

我正在使用此查询填充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()添加到查询的末尾,但这似乎也不能解决问题。

LINQ查询返回两次结果集

可耻地窃取Adam Maras的评论并发布作为答案:

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