asp.net – 在所选数据源上找不到具有该名称的字段或属性

前端之家收集整理的这篇文章主要介绍了asp.net – 在所选数据源上找不到具有该名称的字段或属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个实体数据模型,其中包含两个实体“角色”和“用户”.我有一个导航属性,我有一个EntityDataSource和一个GridView. EntityDataSource指向Users实体并具有Include =“Roles”参数.

我在GridView中添加了一个BoundField,它指向RoleName,它是实体Roles的一个属性.但是,当我执行代码时,我得到上述错误.

我在另一个应用程序中成功使用了非常相似的代码任何想法为什么这不起作用?

这是我的EntityDataSource:

<asp:EntityDataSource ID="EntityDataSource1" runat="server" 
    ConnectionString="name=pbu_checklistEntities" 
    DefaultContainerName="pbu_checklistEntities" EnableDelete="True" 
    EnableFlattening="False" EnableUpdate="True" EntitySetName="Users" Include="Role">
    </asp:EntityDataSource>

这是BoundField:

<asp:BoundField DataField="RoleName" HeaderText="Role" SortExpression="RoleName" />

解决方法

您不能将asp:BoundField用于相关导航属性属性.您只能使用asp:TemplateField,然后将其作为只读与Eval(非绑定)绑定. BoundFields总是在内部使用Bind,这就是它无法工作的原因.我不得不在不久前解决这个问题:

Columns of two related database tables in one ASP.NET GridView with EntityDataSource

原文链接:https://www.f2er.com/aspnet/246945.html

猜你在找的asp.Net相关文章