1

我正在尝试使用模型绑定填充网格视图。我已将以下代码分配给 SelectMethod:

public IQueryable<System.Web.Security.MembershipUser> GridView1_GetData()
{
  return Membership.GetAllUsers();
}

我知道 GetAllUsers() 返回一个实现 ICollection 和 IEnumerable 的 MembershipUserCollection,但我收到以下错误:'无法将类型 System.Web.Security.MembershipUserCollection' 隐式转换为'System.Linq.IQueryable'

我尝试过使用以下内容:

return (IQueryable&lt;MembershipUser&gt;)Membership.GetAllUsers().AsQueryable();

但我得到错误'源不是 IEnumerable<>'

我发现我可以这样做:

GridView.DataSource = Membership.GetAllUsers();

但是我不能使用模型绑定。这里有什么帮助吗?

谢谢。

4

1 回答 1

1

MembershipUserCollection 实现了 IEnumerable 但不是 IEnumerable,因此我们必须转换结果,然后将其转换为 IQueryable:

public IQueryable<System.Web.Security.MembershipUser> GridView1_GetData()
{
  return Membership.GetAllUsers().Cast<MembershipUser>().AsQueryable<MembershipUser>();            
}
于 2013-08-17T23:10:25.733 回答