将数据库数据绑定到下拉列表

时间:2014-04-10 11:17:53

标签: asp.net sql linq drop-down-menu

我一直在努力修复我在项目中与我的下拉列表遇到的错误。我现在正在获取数据,并且工作正常:

 using (InfoEntities ie = new InfoEntities())
        {
            var sqlddl = (from query in ie.Table_Customers
                          from q in ie.Accounting_PriceType
                          where query.TypeID == 1 && q.ID == 1
                          orderby query.Customers
                          select query).Distinct().ToList();
            DropDownListCust.DataTextField = "Customers";
            DropDownListCust.DataValueField = "ID";
            DropDownListCust.DataSource = sqlddl;
            DropDownListCust.DataBind();
        }

现在,当用户保存数据并再次打开网站时,我需要先前在下拉列表中选择的已保存值。这也很好,但问题是我得到了重复。无论如何,我这样做,我很确定我做错了:

在页面加载中我加载我的下拉列表以获取所有项目以及以下内容以获取保存的值:

 DropDownListCust.SelectedItem.Text = sql.Customers;

这使得我的DDL非常多,一些项目消失,有时还有重复的值。有人可以帮忙吗?我使用的是LINQ,但只要它已经修复,我就可以使用其他方法。

干杯

1 个答案:

答案 0 :(得分:0)

我解决了这个问题:

DropDownList1.ClearSelection();
DropDownList1.Items.FindByText(sql.Customer).Selected = true;