如何动态填充linq查询结果的下拉列表?

时间:2012-06-27 15:19:10

标签: c# linq-to-sql drop-down-menu fill

我有两个下拉列表。 secod将根据第一个中的选定值进行更改。

这就是我正在尝试的,但是没有用。

protected void ddTerritory_SelectedIndexChanged (object sender, EventArgs e)
{
    NorthwindDataContext bd = new NorthwindDataContext();

    var selectedTerritory =
        (from t in bd.EmployeeTerritories
         where t.TerritoryID == this.ddTerritory.SelectedValue
         select t).ToList();

    for (int i = 0; i < selectedTerritory .Count; i++)
    {
        this.ddTerrSelc.Items.Insert(i,
            new ListItem(territorioSeleccionado[0].ToString(), i.ToString()));
    }
}

我看到了一些示例,但是所有这些示例都使用DataSet作为下拉列表的数据源,正如您所看到的,我正在使用linq to sql,所以我认为必须有一种方法没有数据集

这样做

1 个答案:

答案 0 :(得分:1)

您不需要手动插入结果集,而是可以这样做:

var selectedTerritory =
            (from t in bd.EmployeeTerritories
             where t.TerritoryID == this.ddTerritory.SelectedValue
             select t).ToList();

this.ddTerrSelc.DataTextField = "Name";
this.ddTerrSelc.DataValueField = "ID";
this.ddTerrSelc.ItemsSource = selectedTerritory;