如何将MembershipUserCollection绑定到GridView

时间:2013-08-17 10:17:37

标签: c# asp.net webforms

我正在尝试使用模型绑定填充gridview。我已经为SelectMethod分配了以下代码:

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

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

我尝试过使用以下内容:

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

但我收到错误'来源不是IEnumerable&lt;&gt;'

我发现我可以这样做:

GridView.DataSource = Membership.GetAllUsers();

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

感谢。

1 个答案:

答案 0 :(得分:1)

MembershipUserCollection实现IEnumerable而不是IEnumerable所以我们必须转换结果,然后在IQueryable中转换它:

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