C# 显示嵌套匿名类型
我试图在GridView控件中显示嵌套的匿名类型。但是GridView控件只显示OrderID和OrderDate字段(即,它不显示嵌套类型) 我正在使用以下代码:C# 显示嵌套匿名类型,c#,asp.net,entity-framework,gridview,ado.net,C#,Asp.net,Entity Framework,Gridview,Ado.net,我试图在GridView控件中显示嵌套的匿名类型。但是GridView控件只显示OrderID和OrderDate字段(即,它不显示嵌套类型) 我正在使用以下代码: protected void btn2_Click(object sender, EventArgs e) { using (EStoreEntities ctx2 = new EStoreEntities()) { var query = (from o in ctx2.Orders
protected void btn2_Click(object sender, EventArgs e)
{
using (EStoreEntities ctx2 = new EStoreEntities())
{
var query = (from o in ctx2.Orders
select new
{
o.OrderID,
o.OrderDate,
nest_anon = new
{
o.Customer,
o.ShipAddress,
o.Status
}
});
tb2.Text = (query as ObjectQuery).ToTraceString();
gv2.DataSource=query;
gv2.DataBind();
}
}
要在GridView中显示匿名和嵌套的匿名类型,我应该在代码中修复什么?您将无法执行此操作,因为匿名类型仅对其定义的范围有效,即按钮单击事件处理程序
您需要创建一个实际类型,然后确定如何在网格中显示该类型。是否有错误?您能告诉我们您的GridView标记在哪里显示嵌套的对象数据吗?为什么需要嵌套它?只需展平对象以显示在栅格视图中。这是不正确的。匿名类型可以在创建它们的方法之外返回和使用。Chris,你知道我应该创建一个适合我的linq结果的类型类吗?@jason-请给出一个解释方法的答案。@Michael-是的。虽然jason可能是正确的,但使用命名类可能更简单。Chris,类中的嵌套匿名类型必须是什么类型?必须是复杂类型吗?