Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将MembershipUsersCollection绑定到GridView_C#_Asp.net_Webforms - Fatal编程技术网

C# 如何将MembershipUsersCollection绑定到GridView

C# 如何将MembershipUsersCollection绑定到GridView,c#,asp.net,webforms,C#,Asp.net,Webforms,我正在尝试使用模型绑定填充gridview。我已将以下代码分配给SelectMethod: public IQueryable<System.Web.Security.MembershipUser> GridView1_GetData() { return Membership.GetAllUsers(); } 但是我得到了错误“source不是IEnumerable” 我发现我可以做到这一点: GridView.DataSource = Membership.GetAllUs

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

public IQueryable<System.Web.Security.MembershipUser> GridView1_GetData()
{
  return Membership.GetAllUsers();
}
但是我得到了错误“source不是IEnumerable”

我发现我可以做到这一点:

GridView.DataSource = Membership.GetAllUsers();
但是我不能使用模型绑定。有人帮忙吗


谢谢。

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

public IQueryable<System.Web.Security.MembershipUser> GridView1_GetData()
{
  return Membership.GetAllUsers().Cast<MembershipUser>().AsQueryable<MembershipUser>();            
}
public IQueryable GridView1\u GetData()
{
返回Membership.GetAllUsers().Cast().AsQueryable();
}

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

public IQueryable<System.Web.Security.MembershipUser> GridView1_GetData()
{
  return Membership.GetAllUsers().Cast<MembershipUser>().AsQueryable<MembershipUser>();            
}
public IQueryable GridView1\u GetData()
{
返回Membership.GetAllUsers().Cast().AsQueryable();
}

尝试将asQueryable强制转换为列表:.ToList()MembershipUserCollection没有该方法。我尝试过(IQueryable)成员资格。GetAllUsers().Cast().ToList();这可能会起作用:GridView.DataSource=Membership.GetAllUsers().ToLi‌​st()啊..你想在gridview中修改数据吗?您可能需要查看“objectdatasource”。但是我已经很久没有玩过GridView之类的东西了,所以不太记得是怎么回事了。。GetAllUsers()可能已经是可枚举的,因为它可以工作,您需要一种方法将其添加回数据库,仅强制转换到queryable在这方面没有帮助,它不知道要调用什么数据库内容BTW:IQueryable GridView1_GetData()不应该读取IEnumerable GridView1_GetData()尝试将您的asQueryable强制转换到列表:。ToList()MembershipUserCollection没有该方法。我尝试过(IQueryable)成员资格。GetAllUsers().Cast().ToList();这可能会起作用:GridView.DataSource=Membership.GetAllUsers().ToLi‌​st()啊..你想在gridview中修改数据吗?您可能需要查看“objectdatasource”。但是我已经很久没有玩过GridView之类的东西了,所以不太记得是怎么回事了。。GetAllUsers()可能已经是可枚举的了,因为它可以工作,您需要一种方法将其添加回数据库,只是强制转换到queryable在这方面没有帮助,它不知道调用什么数据库内容。顺便问一下:IQueryable GridView1_GetData()不应该是IEnumerable GridView1_GetData()吗