ASP .NET - 使用OleDbDataAdapter绑定下拉列表

时间:2014-03-22 19:40:47

标签: c# asp.net

我是ASP .NET初学者,所以请耐心等待。

我有一个名为Product的数据库,其中包含ProductNameProductID列。

我想在下拉列表中显示所有ProductName值。为此,我首先将所有值放在数据集中,然后从那里将它们绑定到下拉列表。但是在输出中,而不是ProductName值,我在下拉列表中获得以下值:

  

System.Data.DataRowView

(重复等于数据库中的行数)

这是我的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.OleDb;

public partial class Demo : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\Database2.mdb;Persist Security Info=True");
            DataSet ds = new DataSet();
            string query = "SELECT ProductName FROM Product";
            OleDbDataAdapter adapter = new OleDbDataAdapter(query, conn);
            conn.Open();
            adapter.Fill(ds, "Table1");
            conn.Close();
            DropDownList1.DataSource = ds;
            DropDownList1.DataBind();
        }
    }
}

知道我在这里缺少什么吗?我们将非常感谢您的帮助。感谢。

1 个答案:

答案 0 :(得分:2)

您似乎需要指定DataValueFieldDataTextField属性,例如;

DropDownList1.DataValueField = "ProductName";
DropDownList1.DataTextField = "ProductName";