Asp.net 数据绑定:';动态类1';不包含名为';员工ID';
我在动态数据网站的列表页面中使用了聚合函数。当它执行时,它给了我, 数据绑定:“DynamicClass1”不包含名为“EmployeeID”的属性。Asp.net 数据绑定:';动态类1';不包含名为';员工ID';,asp.net,dynamic-data,Asp.net,Dynamic Data,我在动态数据网站的列表页面中使用了聚合函数。当它执行时,它给了我, 数据绑定:“DynamicClass1”不包含名为“EmployeeID”的属性。 <asp:GridView ID="GridView1" runat="server" DataSourceID="GridDataSource" AllowPaging="True" AllowSorting="True" CssClass="gridview">
<asp:GridView ID="GridView1" runat="server" DataSourceID="GridDataSource"
AllowPaging="True" AllowSorting="True" CssClass="gridview">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="EditHyperLink" runat="server"
NavigateUrl='<%# table.GetActionPath(PageAction.Edit, GetDataItem()) %>'
Text="Edit" /> <asp:LinkButton ID="DeleteLinkButton" runat="server" CommandName="Delete"
CausesValidation="false" Text="Delete"
OnClientClick='return confirm("Are you sure you want to delete this item?");'
/> <asp:HyperLink ID="DetailsHyperLink" runat="server"
NavigateUrl='<%# table.GetActionPath(PageAction.Details, GetDataItem()) %>'
Text="Details" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle CssClass="footer"/>
<PagerTemplate>
<asp:GridViewPager runat="server" />
</PagerTemplate>
<EmptyDataTemplate>
There are currently no items in this table.
</EmptyDataTemplate>
</asp:GridView>
<asp:LinqDataSource ID="GridDataSource" runat="server"
ContextTypeName="DataClassesDataContext"
TableName="Employees"
GroupBy="EmployeeNo"
Select="new(Key,
Max(Version) As VersionNo)"
EnableDelete="true">
<WhereParameters>
<asp:DynamicControlParameter ControlID="FilterRepeater" />
</WhereParameters>
</asp:LinqDataSource>
此表中当前没有项目。
除了在Linq数据源中添加了ContextTypeName、TableName、GroupBy和select之外,我没有更改任何默认代码。。。
表“EmployeeID、EmployeeNo、EmployeeName、部门、地址、城市、州、国家、版本”列为“雇员”
你知道怎么解决这个问题吗
提前谢谢
问候,,
Bala问题在于,您正在分组的数据不会创建网格期望接收的数据类型。GetDataItem()需要特定类型的数据,而这不是您在LinqDataSource中设置的数据 您的选择需要包括GetDateItem()所需的所有项目,但现在它没有:
new(Key, Max(Version) As VersionNo) //EmployeeID needs to be included here
为了让员工。。。使用:Key.Employee
键是一个动态类,包含GROUPBY语句中指定的所有属性
其他任何内容(如员工姓名、部门、地址、城市、州、国家、版本)都需要汇总报表(如总和、最大值、最小值)。谢谢您的回复。除了在Linq数据源中添加了ContextTypeName、TableName、GroupBy和select之外,我没有更改任何默认代码……Tabel Employees“EmployeeID、EmployeeNo、EmployeeName、部门、地址、城市、州、国家/地区、版本”列..添加Select=“new(Key,Max(Version)as VersionNo,EmployeeID)”会出现错误类型“IGrouping`2'”中不存在属性或字段“EmployeeId”。我也尝试过,GroupBy=“new(EmployeeNo,EmployeeId)”也会出现同样的错误!@Bala我会先尝试删除分组,让它在没有分组的情况下工作。然后我会尝试构建一个与您想要的类似的LINQ查询(不是在标记中,而是在后面的代码中)。这将允许您制定您的groupby和select应该是什么。
new(Key, Max(Version) As VersionNo) is fine.