【发布时间】:2013-03-16 21:47:15
【问题描述】:
我知道这个问题可能是重复的,但我查看了大量示例,但没有一个适合我的情况。
我在 DataList 中有一个 DropDownList,我需要用数据库中的数据填充 DropDownList。我知道如何在 DataList 中找到下拉控件,并且知道如何使用 SqlCommand 填充下拉列表。现在我正在尝试学习 LINQ,但我无法填写下拉列表。请在下面查看我的场景:
//Scenario 1
var ddquery = from dd in db.PRODUCTs select dd.pr_product.Distinct();
product.DataSource = ddquery;
product.DataTextField = "pr_product";
product.DataValueField = "pr_product";
product.DataBind();
在场景 1 中,我收到错误:“'System.String' 类型不支持序列运算符。”
//Scenario 2
var ddproc = from dd in db.isp_GETDDL("PRODUCTS", "", "") select dd;
product.DataSource = ddproc;
product.DataTextField = "pr_product";
product.DataValueField = "pr_product";
product.DataBind();
在场景 2 中,我收到错误:“DataBinding:'isp_GETDDLResult' 不包含名为 'pr_product' 的属性。”在这种情况下,我并不是真的做对了,因为 PROC 返回一组数据,但我不确定我是否正确处理。
//Scenario 3
var ddq = from dd in db.PRODUCTs select dd;
product.DataSource = ddq;
product.DataTextField = "pr_product";
product.DataValueField = "pr_product";
product.DataBind();
在场景 3 中,我遇到了与 2 中相同的错误,但在这个错误中,我没有使用 PROC 来获取数据。
任何帮助将不胜感激。
【问题讨论】:
-
对不起,所有三个答案我都没有收到错误,但 DropDownList 没有被填充。我做错了什么?
-
我明白了。我的代码中的条件之一没有得到满足。所有三个答案都是有效的,但只能将一个标记为答案抱歉:-(
标签: c# asp.net linq linq-to-sql