0

我是链接新手,正在关注如何将 LINQ 数据绑定到下拉列表以尝试使用 LINQ 将我的数据绑定到下拉列表,但我收到错误“数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)是“ 我遵循了代码示例,所以我不确定我做错了什么或如何解决它。任何人都可以请注意,因为这是使用 LINQ 的第二天。

            using (var db = new FullContext())
            {
                ddlItemType.DataSource = from t in db.ItemTypes
                                         select new { t.ID, t.Name };
                ddlItemType.DataTextField = "Name";
                ddlItemType.DataValueField = "ID";
                ddlItemType.DataBind();
            }
4

3 回答 3

1

你是binding dropdown with query instead of data object。您返回查询的语句但不是实际数据。您需要将其与实例列表的数据对象绑定。

更改查询

ddlItemType.DataSource = from t in db.ItemTypes
     select new { t.ID, t.Name };

到数据源

ddlItemType.DataSource =  (from t in db.ItemTypes
     select new { t.ID, t.Name }).ToList();
于 2012-11-28T04:20:44.457 回答
0

你能试一下吗:

ddlItemType.DataSource = (from t in db.ItemTypes
                          select new { t.ID, t.Name }).ToList()
于 2012-11-28T04:19:24.630 回答
0
public static void ListItem(DropDownList container) {
        DbDataContext db = new DbDataContext();
        var rs = from t in db.ItemTypes
                         select new { t.ID, t.Name };

        foreach (var r in rs)
            container.Items.Add(new ListItem(t.ID + " - " + t.Name, t.ID));
}

打电话:

ListItem(YourDropdownListID);

于 2012-11-28T08:26:48.967 回答