0

任何人都可以帮助我使用 C# 循环来填充 ASP:DropDownList。我正在使用以下代码将数据绑定到我的下拉列表。但是,第一个结果不会填充到下拉列表中。但是应该有 3 个,下拉列表中只有 2 个。

任何帮助都很棒。

        SqlDataReader dr;
        dr = sqlcmd.ExecuteReader();
        dropdown.DataSource = dr;

        while (dr.Read())
        {
            dropdown.DataValueField = "ID";
            dropdown.DataTextField = "Description";
            dropdown.DataBind();
        }
4

2 回答 2

1

由于您将数据读取器绑定到下拉列表,因此您不需要显式循环它(调用dr.Read()实际上是在吃第一个元素)。

尝试这个:

SqlDataReader dr = sqlcmd.ExecuteReader();
dropdown.DataSource = dr;
dropdown.DataValueField = "ID";
dropdown.DataTextField = "Description";
dropdown.DataBind();

更新

要添加默认项,请在上面的代码之后执行此操作:

dropdown.Items.Insert(0, new ListItem("Please Select",""));
于 2012-10-24T03:03:12.347 回答
1

代替

dropdown.DataValueField = "ID";
dropdown.DataTextField = "Description";

利用

dropdown.DataValueField = dr["ID"].ToString();
dropdown.DataTextField = dr["Description"].ToString();
于 2012-10-24T03:04:22.703 回答