3

我编写了一个简单的 LINQ,它正在从成员中检索具有角色的用户名。现在,根据我的需要,我必须将其绑定并显示到 gridview 中,但它没有发生......这是我的代码......

这是我的gridview代码...

<form id="form1" runat="server">
<div>
    <asp:GridView ID="GridView1" runat="server">
    </asp:GridView>
</div>
</form>

这是我的带有 LINQ 查询的服务器端代码..

protected void Page_Load(object sender, EventArgs e)
{
    BindGridviewData();      

}



protected void BindGridviewData()
{
    var roles = from MembershipUser u in Membership.GetAllUsers()
                select new
                {
                    user = u,
                    roles = Roles.GetRolesForUser(u.UserName)
                };

    GridView1.DataSource = roles;
    GridView1.DataBind();

}

但它没有发生......任何帮助将不胜感激......

4

3 回答 3

3

这里的示例显示了条件员工年龄 >=20 的绑定(员工详细信息)

查看此链接以获取更多想法

这工作正常

            var result = from c in objDataContext.Employees
                         where c.EmployeeAge >= 20
                         select c;                
            List<Employee> lstEmployee = result.ToList();
            gridviewEmp.DataSource = lstEmployee;
            gridviewEmp.DataBind();

LINQ to SQL 入门

于 2015-06-08T13:53:20.280 回答
2

gridview 的数据源应该是可枚举的。

尝试

  GridView1.DataSource = roles.ToList();
  GridView1.DataBind();

不要忘记添加对System.Linq的引用

如果您觉得这很有用,请标记为答案

于 2013-09-19T10:54:22.290 回答
0

使用FirstOrDefault()方法。

尝试这个:

var roles = from MembershipUser u in Membership.GetAllUsers()
                select new { User = u.UserName, 
                    Role = Roles.GetRolesForUser(u.UserName).FirstOrDefault() 
               };
于 2013-09-19T11:56:11.127 回答