2011-05-17 90 views
0

我只是使用了一个简单的LINQ查询,它具有group by子句并试图将其结果集绑定到GridView。 我的LINQ查询看起来像ASP.NET页面无法将LINQ绑定到gridview

<asp:GridView ID="GridView1" AutoGenerateColumns="true" runat="server" DataKeyField="Key" /> 

但得到的错误上

var expData = from c in WebDB.TransTable 
       group c by c.enterdate into g 
       select g; 

网格视图:

A field or property with the name 'Key' was not found on the selected data source.

任何人都可以帮我吗?

没有一个答案是有帮助的

+0

你需要从linq语句中移除''''''''将它视为一个字符串。 – 2011-05-17 09:42:01

回答

1

编辑这忽略了 “” 你的LINQ声明

只看你的asp.net的GridView(ASPX代码)的属性:DataKeyField = “” 是指着不中你的LINQ查询

<asp:GridView AutoGenerateColumns="true" DataKeyField="Key"/> 
2

expData存在的列名是string因为你已经把引号中的LINQ查询。

var expData = "from c in WebDB.TransTable 
      group c by c.enterdate into g 
       select g;" 

System.String没有一个叫Key属性,因此错误。

如果删除引号,它应该都可以正常工作。

1

我也有过你的问题,我是这样写的。我希望为你工作:

var expData = from c in WebDB.TransTable 
       group c by c.enterdate into g 
       select new {EnterDate = g.Key};