Asp.net 如何在linq到Listview中显示2个查询的结果?
这是一个示例(不需要像这样编写) 我不知道如何从两个不同的查询中得到一个列表中的不同属性。 比如:Asp.net 如何在linq到Listview中显示2个查询的结果?,asp.net,linq,listview,databound,Asp.net,Linq,Listview,Databound,这是一个示例(不需要像这样编写) 我不知道如何从两个不同的查询中得到一个列表中的不同属性。 比如: 谢谢。请看一下我为您介绍Linq Union方法而创建的示例。只有当两个列表/IEnum的类型相同时(在我们的例子中是模型) 编辑 你可以“幻想”,甚至选择匿名类型的联合。例如: public class Model { public string Name { get;set;} public string Value { get;set;} } 这将为您提供一个具有yyyy和nnnn属性的
谢谢。请看一下我为您介绍Linq Union方法而创建的示例。只有当两个列表/IEnum的类型相同时(在我们的例子中是
模型
)
编辑
你可以“幻想”,甚至选择匿名类型的联合。例如:
public class Model {
public string Name { get;set;}
public string Value { get;set;}
}
这将为您提供一个具有yyyy和nnnn属性的IEnumerable。也许我需要与2个用户控件一起使用,并将它们放入面板中?这样,我想让我使用不同的属性和控件,你想从每个列表中得到的属性是否具有相同的数据类型?Linq有一个Union方法。试着让by1和by2成为相同的数据源,并绑定它们。你是如何使用Linq联盟的?
var by1 = from x in model.x
xxxx
select new
{
x.yyyy
};
ListView1.DataSource = by1;
ListView1.DataBind();
var by2 = from z in model.z
zzzz
select new
{
z.nnnn
};
ListView1.DataSource = by2;
ListView1.DataBind();
zzzzz:1111
zzzzz:2222
nnnn:ffff
nnnn:gggg
zzzz:3333
void Main()
{
List<Model> by1 = new List<Model>();
by1.Add(new Model {Name = "zzzz",Value = "1111" });
by1.Add(new Model {Name = "fdgdfg",Value = "1234"});
by1.Add(new Model {Name = "zzzz",Value = "2222"});
List<Model> by2 = new List<Model>();
by1.Add(new Model {Name = "nnnn",Value = "ffff"});
by1.Add(new Model {Name = "nnnn",Value = "gggg"});
by1.Add(new Model {Name = "zzzz",Value = "3333"});
// Join the results of by1 and by2 as both are List<Model>
object dataSource = by1.Union(by2); // Results in a IEnumerable<Model>
// Bind the dataSource to the ListView
ListView1.DataSource = dataSource;
ListView1.DataBind();
}
public class Model {
public string Name { get;set;}
public string Value { get;set;}
}
object dataSource = by1.Union(by2).Select(item=>new
{
yyyy = item.Name,
nnnn = item.Value
});