0
我们使用RadGrid控件从存储库中检索用户对象,该存储库使用NHibernate检索对象。我使用定义为对象的数据源:Telerik RadGrid绑定假设对象类型错误
<asp:ObjectDataSource ID="UsersData" runat="server" SelectMethod="GetAll" DataObjectTypeName="TestingApp.Lib.Domain.User" TypeName="TestingApp.Lib.Repositories.UserRepository">
</asp:ObjectDataSource>
为GETALL的方法签名如下:
public IEnumerable<User> GetAll();
与NHibernate,一些用户实际上延伸用户AdminUsers。看来版本库当前首先返回一个AdminUser对象,并且控件似乎假定剩下的对象将是AdminUser而不是User。这将导致以下异常被抛出:
"Unable to cast object of type 'TestingApp.Lib.Domain.User' to type 'TestingApp.Lib.Domain.AdminUser'."
有没有办法来强制控制的假设数据绑定的对象是用户,而不是管理用户?谢谢!
后续
看来,radgrid控件以这种方式使用与NHibernate是不兼容,将无法正常工作。我们决定改用我们自己的解决方案。
您使用的是哪个版本的.net框架? – jvanrhyn 2010-12-01 17:31:47