如何使用Display和Value填充ListBox

时间:2014-07-30 15:36:41

标签: c# asp.net listbox

我正在尝试从SQL查询中填充我的WebForm中的ListBox控件。我希望DisplayMember和ValueMember相同。这就是我到目前为止所做的:

try
{
    SqlConnection conn = new SqlConnection(connString);
    conn.Open();

    string strQuery = "SELECT Client from filtername";
    SqlDataAdapter sdaClient = new SqlDataAdapter(strQuery, conn);
    DataSet dsClient = new DataSet();
    sdaClient.Fill(dsClient, "filtername");
    DataTable dtClient = dsClient.Tables[0];
    DataRow drTemp = null;

    foreach (DataRow drTempRow in dtClient.Rows)
    {
        drTemp = drTempRow;
        lbEnt.Items.Add(drTemp["Client"]);
    }
}

lbEnt是我的ListBox的ID。使用上面的代码,我收到以下错误:

  

最佳重载方法匹配   ' System.Web.UI.WebControls.ListItemCollection.Add'有一些无效的   参数。

如何修改代码以使用查询返回来填充列表框?

2 个答案:

答案 0 :(得分:3)

您可以使用ListItem,这样您就可以提供Text和Value字符串:

lbEnt.Items.Add(new ListItem(drTemp["Client"].ToString(),drTemp["Client"].ToString()));

答案 1 :(得分:2)

你试过吗

         drTemp["Client"].ToString()

在添加之前,您可能需要将值转换为String。