使用Linq在ASP.net中查看gridview中的数据

使用Linq在ASP.net中查看gridview中的数据,.net,asp.net,linq-to-sql,.net,Asp.net,Linq To Sql,我想在gridview中用Linq显示数据库中的数据,但我做不到 此代码: var o = (from i in MDB.Messages select new { Subject = i.Subject, Message_Code = i.ID_Message, Question_date = i.Date, Question_Name = i.aspnet_Membership.aspnet_User.UserName }); EndInboxGrv.Da

我想在gridview中用Linq显示数据库中的数据,但我做不到

此代码:

var o = (from i in MDB.Messages
             select new { Subject = i.Subject, Message_Code = i.ID_Message, Question_date = i.Date, Question_Name = i.aspnet_Membership.aspnet_User.UserName });

    EndInboxGrv.DataSource = o;

如何解决此问题?

您是否检查了变量o是否有数据

您绑定了吗-EndInboxGrv.DataBind();设置数据源后?

您希望将数据绑定到gridview。然后,只有gridview中的数据源获得绑定

e、 g:
EndInboxGrv.DataBind()


读这篇

你在gridview上调用数据绑定吗?与winforms不同,您必须在asp.net中显式调用DataBind()。我在上面的代码中没有看到它,所以如果缺少DataBind()调用,您将什么也看不到

var o = (from i in MDB.Messages
             select new { Subject = i.Subject, Message_Code = i.ID_Message, Question_date = i.Date, Question_Name = i.aspnet_Membership.aspnet_User.UserName });

    EndInboxGrv.DataSource = o;
    EndInboxGrv.DataBind();

你应该把网格绑起来

var o = (from i in MDB.Messages 
    select new {
     Subject = i.Subject,
     Message_Code = i.ID_Message,
     Question_date = i.Date,
     Question_Name = i.aspnet_Membership.aspnet_User.UserName 
       });
EndInboxGrv.DataSource = o;
EndInboxGrv.DataBind();

顺便说一下,如果您没有枚举延迟运算符,那么除了查询之外,您看不到任何数据。请在LINQ中查看延迟执行。谢谢