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

Ema*_*een 3 asp.net html-select dataset strongly-typed-dataset populate

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

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

你能给我看一些使用DataSet数据填充下拉列表所需的样本标记和/或VB.Net编码吗?

Ric*_*rdN 7

<asp:DropDownList ID="MyDropDownList" runat="server" DataTextField="SomeString" DataValueField="SomeUniqueId" />
Run Code Online (Sandbox Code Playgroud)

代码隐藏:

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

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
Run Code Online (Sandbox Code Playgroud)

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

这是一个例子:

标记

<body>
    <form id="form1" runat="server">
        <div>
            Fruits
            <asp:DropDownList ID="DropDownListWithFruits" runat="server" DataTextField="FruitName" DataValueField="FruitId" />
        </div>
    </form>
</body>
Run Code Online (Sandbox Code Playgroud)

代码背后

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();
}
Run Code Online (Sandbox Code Playgroud)