2011-05-17 82 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};