【问题标题】:How to get a class from listbox datasource如何从列表框数据源中获取一个类
【发布时间】:2014-06-25 11:20:32
【问题描述】:

所以我有将对象类绑定到列表框的代码:

lstDealers.DataSource = dealers;
lstDealers.DataTextField = "DealerName";
lstDealers.DataBind();

这很好用,显示值没有问题。但是我遇到的问题是我试图从列表对象中获取类。

我尝试了两种不同的方法,但都没有奏效:

var selectedItems = from ListItem i in lstDealers.Items where i.Selected select i;
Dealer dealer = (Dealer)selectedItems;

Dealer dealer = (Dealer)lstDealers.SelectedItem;

现在我知道第二个在 winform 中工作,但我正试图在 ASP.Net 框架 4.5 中完成此操作

有什么建议吗?

【问题讨论】:

    标签: asp.net listbox datasource


    【解决方案1】:

    在 Web 表单中,SelectedItem 没有在 DataSource 中分配类型的对象,而是您将获得 ListItem

    您必须使用当前项目从您的数据源获取记录,因为dealers 对象在回发上不可用。您可以为 DataValueField 分配唯一 ID,您将在 postback 之后使用它从 datasource(数据库)中获取记录

    lstDealers.DataValueField = "IdOfDealer";
    

    回发

    string dealerId = (Dealer)lstDealers.SelectedValue;    
    Dealer dealer = someMethodToFetchAndReturnDealer(dealerId);
    

    【讨论】:

    • 你有我如何做到这一点的例子吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-24
    • 1970-01-01
    • 2022-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    相关资源
    最近更新 更多