我正在使用此查询填充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>
答案 0 :(得分:4)
无耻地窃取Adam Maras的评论和发帖作为答案:
这意味着在某个地方,稍后在页面的生命周期中,某些内容再次调用ddlCountry.DataBind()
,这会导致控件再次将数据源的内容添加到列表中。