使用DataSet设计器创建的DataSet中的DataSet数据填充ASP.Net下拉列表

时间:2012-12-04 10:38:01

标签: asp.net dataset strongly-typed-dataset populate html-select

我们有一个ASP.Net / VB.Net Web表单,其中包含aspx文件标记中的下拉列表。还有一个使用DataSet设计器创建的DataSet。

我们希望使用DataSet中的数据填充下拉列表。

您能否向我展示一些使用DataSet数据填充下拉列表所需的示例标记和/或VB.Net编码?

2 个答案:

答案 0 :(得分:6)

<asp:DropDownList ID="MyDropDownList" runat="server" DataTextField="SomeString" DataValueField="SomeUniqueId" />

代码隐藏:

protected void Page_Load(object sender, EventArgs e)
{
    var myDataSet = new DataSet(); // replace with your dataset
    MyDropDownList.DataSource = myDataSet;
    MyDropDownList.DataBind();
}

VB.Net:

Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
    Dim aDataSet As DataSet
    MyDropDownList.DataSource = aDataSet
    MyDropDownList.DataBind()
End Sub

你在标记中看到“DataTextField”和“DataValueField”吗?您可以在其中放置要用作id(数据值)的字段名称,并在下拉列表中显示(数据文本)。

以下是一个例子:

标记

<body>
    <form id="form1" runat="server">
        <div>
            Fruits
            <asp:DropDownList ID="DropDownListWithFruits" runat="server" DataTextField="FruitName" DataValueField="FruitId" />
        </div>
    </form>
</body>

背后的代码

protected void Page_Load(object sender, EventArgs e)
{
    var myDataSet = new DataSet();
    var table1 = new DataTable();
    table1.Columns.Add("FruitName");
    table1.Columns.Add("FruitId");
    table1.Rows.Add("Apple", 1);
    table1.Rows.Add("Banana", 2);
    table1.Rows.Add("Grapefruit", 3);

    myDataSet.Tables.Add(table1);

    DropDownListWithFruits.DataSource = myDataSet;
    DropDownListWithFruits.DataBind();
}

答案 1 :(得分:2)

ComboboxName.DataSource = YourDataSetName

ComboboxName.DataValueField =您要返回其所选值的字段的名称

例如“ID”

ComboboxName.DataTextField =您要在下拉列表中查看的字段的名称

例如“姓名”

ComboboxName.DataBind()