将ListView绑定到IQueryable <igrouping <>&gt;

时间:2015-04-30 16:08:08

标签: c# asp.net listview linq-to-sql igrouping

我将ListView绑定到使用Linq-to-SQL生成的IQueryable<IGrouping<>>,如下所示:

var lineChanges = dcOJ.LineAuthoriserChanges.GroupBy(g => g.tbl_line)
    .OrderBy(ord => ord.Key.tbl_journal.RefNo);

lvLineAuthoriserChanges.DataSource = lineChanges;
lvLineAuthoriserChanges.DataBind();

在标记中,我尝试引用Key对象的IGrouping<>属性:

<td rowspan="2"><%# Eval("Key.tbl_journal.RefNo") %></td>

然而,我收到错误:

DataBinding: 'System.Data.Linq.SqlClient.ObjectReaderCompiler+Group`2[[Online.LinqToSQL.tbl_line, Online, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Online.LinqToSQL.LineAuthoriserChange, Online, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]' does not contain a property with the name 'Key'.

我可以投射数据项并以这种方式显示值,但似乎不太令人满意。

<%# ((IGrouping<tbl_line, LineAuthoriserChange>)Container.DataItem).Key.tbl_journal.RefNo %>

有没有人有任何想法发生了什么?投诉应该是关于输入类型对象的遗失属性,这似乎很奇怪。

0 个答案:

没有答案