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