ASP.net Dropdownlist控件中的Subsonic和两个DataText列

时间:2010-07-08 20:03:28

标签: asp.net subsonic drop-down-menu

有谁知道如何连接我的亚音速数据源中的两列?我想在此下拉列表中显示名字和姓氏,但我不想将它们放在同一个SQL列中。

提前致谢!

2 个答案:

答案 0 :(得分:1)

正在途中(仅限SubSonic 3)

var result = (
               from p in products
               select new { Id = p.Id, 
                            DisplayName = p.ProductCode + " " + p.ProductName }
             ).ToList();

另一种方法(SubSonic 2)

public class ProductList
{
    public int Id {get;set;}   
    public string Displayname {get;set;}
}

public void Foo()
{

    var result = DB.Select
        (
          Product.Columns.Id,
          "Concat(" + Product.Columns.ProductCode + ", "
                     Product.Columns.ProductName + ") as DisplayName"
        ).From<Products>()
         .ExecuteTypedList<ProductList>();
}

或使用DataTable

var result = new ProductCollection().Load().ToDataTable();
result.Columns.Add(
      "DisplayName", typeof(string), "ProductCode + ' ' + ProductName"
);

最后一个参数是一个表达式(如此定义:http://msdn.microsoft.com/en-us/library/ms810291.aspx

答案 1 :(得分:0)

与任何事情一样,可以采取多种不同的方式。

首先想到的是:你可以在select中添加一个新的匿名对象并将它们连接起来。