【问题标题】:Populating an ASP.Net Drop Down List with DataSet data from DataSet created with DataSet designer使用 DataSet 设计器创建的 DataSet 中的 DataSet 数据填充 ASP.Net 下拉列表
【发布时间】:2012-11-21 23:12:54
【问题描述】:

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

我们想用 DataSet 中的数据填充下拉列表。

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

【问题讨论】:

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


    【解决方案1】:
    <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();
    }
    

    【讨论】:

    • 感谢大家的有用回复。我今天要试试这个。 :-)
    • 这将为每一行显示 System.Data.DataRowView!
    • @bleemboy 你在干什么?它不会。当您是错误的人时,请不要投反对票。请参阅我更新的(工作)代码示例。
    【解决方案2】:

    ComboboxName.DataSource =YourDataSetName

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

    例如“ID”

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

    例如“姓名”

    ComboboxName.DataBind()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-10
      相关资源
      最近更新 更多