C# 如何从会话对象将列表框绑定到数据表?

C# 如何从会话对象将列表框绑定到数据表?,c#,asp.net,listbox,datatable,C#,Asp.net,Listbox,Datatable,我有一个会话对象,其中包含上一页中的数据表, 我想把这个数据表绑定到一个列表框 我做到了: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Session["bestStocks"] !=null) { DataTable dt = new DataTable(); dt = (DataTa

我有一个会话对象,其中包含上一页中的数据表, 我想把这个数据表绑定到一个列表框

我做到了:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        if (Session["bestStocks"] !=null)
        {
            DataTable dt = new DataTable();


            dt = (DataTable)Session["bestStocks"];

            DataView dv = new DataView(dt);
            BestStockslb.DataSource = dt;
            BestStockslb.DataBind();
        }
     }
 }
我得到这个结果:

有什么建议吗

谢谢, liron更改此行:

BestStockslb.DataSource = dt;
致:

您还需要设置
BestStockslb
的DataTextField和DataValueField属性,以链接到返回数据中的必填字段。这就是您获得DataRowView输出的原因


您还可以删除
DataView dv=newdataview(dt)看起来您没有使用它。

似乎您忘记了DataTextField和DataValueField

 dt = (DataTable)Session["bestStocks"];

DataView dv = new DataView(dt);
BestStockslb.DataSource = dt;
BestStockslb.DataTextField =  "Name";
BestStockslb.DataValueField =  "ID"; 
BestStockslb.DataBind();
 dt = (DataTable)Session["bestStocks"];

DataView dv = new DataView(dt);
BestStockslb.DataSource = dt;
BestStockslb.DataTextField =  "Name";
BestStockslb.DataValueField =  "ID"; 
BestStockslb.DataBind();