【问题标题】:Binding multiple fields to listbox in ASP.NET在 ASP.NET 中将多个字段绑定到列表框
【发布时间】:2025-12-28 00:40:17
【问题描述】:

我对 asp.net 非常陌生,尤其是 LINQ 和 SQL。

假设我有一个表“Employees”,其中包含“Lastname”、“Firstname”和“ID”字段。

我想把它绑定到一个列表框。我希望列表框显示它的内容,例如“$LASTNAME, $FIRSTNAME”,并且我希望每个项目的值都是“ID”。

将任一名称列绑定到列表框和相应的值是微不足道的,但我不知道如何做到这一点..

提前致谢

【问题讨论】:

    标签: c# asp.net sql linq linq-to-sql


    【解决方案1】:

    你可以试试这样的:

    var datasource = from employee in employees 
                     select new
                     { 
                         Name = employee.lastName + ", " + employee.firstName, 
                         Id = employee.ID 
                     };
    
    myListBox.DataSource = datasource;
    myListBox.DataTextField = "Name";
    myListBox.DataValueField = "Id";
    myListBox.DataBind();
    

    这会从您的员工表中构造一个匿名类型列表,以将您的列表框绑定到。

    【讨论】:

    • 看例子我就知道是这样的。新的 {} 语法对我来说并不熟悉。谢谢!
    【解决方案2】:

    不幸的是,我对 LINQ 不是很熟悉,但如果您只想显示这样的名称,您可以在 SQL 查询中执行此操作:

    SELECT LASTNAME + ', ' + FIRSTNAME AS FULLNAME, ID FROM TableName
    

    然后将 DataTextField 的值设置为 FULLNAME,将 DataValueField 的值设置为 ID。

    【讨论】: