问题:如何从数据库中将项目插入列表框?
以下是我的尝试:
public void Fetch()
{
using (SqlConnection cn = new SqlConnection(UtilObj.ConnectionString()))
{
cn.Open();
ExecuteFetch(cn);
cn.Close();
}
}
public void ExecuteFetch(SqlConnection cn)
{
using (SqlCommand cm = cn.CreateCommand())
{
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "spName";
cm.Parameters.AddWithValue("@Param1", Param1Val);
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
{
while (dr.Read())
{
myListBox.Items.Add(dr["Color"].ToString());
}
}
}
}
当我运行代码时,即使它在调试器中填充,也会显示一个空列表。
ASPX页面
<asp:ListBox ID="myListBox" runat="server" />
答案 0 :(得分:0)
我认为你正在寻找这样的东西: -
执行sp
后获取读者对象SqlDataReader reader = cmd.ExecuteReader();
myListBox.DataSource= reader; //reader object
myListBox.DataTextField = "Color"; // the field you want to show in listbox
myListBox.DataValueField = "Color"; // the value filed behind the items.
myListBox.Databind();
如果您想要那样,文本和值字段也可以相同
就是这样。这与将项目绑定到下拉列表的方式相同。刚刚在我们最近的项目中使用过它
希望它有用