我知道这个问题可能是重复的,但我查看了大量的示例,但没有一个适合我的情况。
我在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来获取数据。
任何帮助都将不胜感激。