数据集asp .net中的下拉列表填充错误

时间:2012-08-05 17:57:59

标签: asp.net drop-down-menu dataset

我在Dropdownlist中填充数据集时遇到了问题。我想在dropdownlist中显示我的数据库表中的用户名列,但只显示最后一行的值。我被困了,经过几个小时的搜索,我找不到任何解决方案,每个代码几乎都给我同样的问题。 这是我想要做的:

Dataset ds = new Dataset();
ds = db.search();

            if(ds.Tables[0].Rows.Count>0)
{
            DropDownList1.DataSource=ds;
            DropDownList1.DataBind();
}

在ASP标记中:

<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>

3 个答案:

答案 0 :(得分:1)

请在下拉列表的下方设置,如服务器端的代码所示。请将“用户名”和“ID”替换为“检索记录集”列名称。

DropDownList1.DataSource = ds;
DropDownList1.DataTextField = "UserName";
DropDownList1.DataValueField = "ID";
DropDownList1.DataBind();

答案 1 :(得分:0)

 Using ds As DataSet = data_readers.data.ExecuteDataSet("LoadSearch", NOTHING)
            If ds.Tables.Count > 0 Then
                If ds.Tables(0).Rows.Count > 0 Then

                    DropDownList1.DataSource = New DataView(ds.Tables("myDataset"))
                    DropDownList1.DataBind

                End If
            End If
  End Using

答案 2 :(得分:0)

你的“ASP Markup”完全是空的!这里看看我的代码,它应该是您的源页面的一个很好的例子:

您还需要设置objectdatasource:我在下拉列表下方提供了该代码。 Listitem值只是我的偏好。在您的情况下,您的列名将替换TRANS_CD_DESC。

<asp:DropDownList ID="ddlTRANS_CD_DESC" DataSourceID="OBJ_TRANS_CD_DESC" DataValueField="TRANS_CD_DESC"
                            DataTextField="TRANS_CD_DESC" AppendDataBoundItems="true" runat="server" Text='<%# bind("TRANS_CD_DESC") %>'>
                            <asp:ListItem Value="">-- Select One --</asp:ListItem>
                        </asp:DropDownList>
                        <asp:ObjectDataSource ID="OBJ_TRANS_CD_DESC" runat="server" TypeName="project1.dbqry"
                            SelectMethod="gProjectCIS"></asp:ObjectDataSource>