我只是使用一个简单的LINQ查询,该查询具有group by子句并尝试将其结果集绑定到GridView。 我的LINQ查询看起来像
var expData = from c in WebDB.TransTable
group c by c.enterdate into g
select g;
ASP.NET页面上的网格视图
<asp:GridView ID="GridView1" AutoGenerateColumns="true" runat="server" DataKeyField="Key" />
但得到错误:
在所选数据源上找不到名为“Key”的字段或属性。
任何人都可以帮助我吗?
没有一个答案是有帮助的
答案 0 :(得分:2)
expData
是string
,因为您已将LINQ查询放在引号内。
var expData = "from c in WebDB.TransTable
group c by c.enterdate into g
select g;"
System.String
没有名为Key
的属性,因此错误。
如果删除引号,它应该都可以正常工作。
答案 1 :(得分:1)
编辑这会忽略你的linq语句中的“”
查看asp.net GridView(aspx代码)上的属性:DataKeyField =“”指向linq查询中不存在的列名
<asp:GridView AutoGenerateColumns="true" DataKeyField="Key"/>
答案 2 :(得分:1)
我也有你的问题,我是这样写的。我希望这对你有用:
var expData = from c in WebDB.TransTable
group c by c.enterdate into g
select new {EnterDate = g.Key};