我写了一个简单的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();
}
但它没有发生......任何帮助都将受到赞赏......
答案 0 :(得分:3)
此处示例显示条件员工年龄> = 20
的绑定(员工详细信息)Check out this link to get more ideas
这很好用
var result = from c in objDataContext.Employees
where c.EmployeeAge >= 20
select c;
List<Employee> lstEmployee = result.ToList();
gridviewEmp.DataSource = lstEmployee;
gridviewEmp.DataBind();
答案 1 :(得分:2)
gridview的数据源应该是不可数的。
尝试
GridView1.DataSource = roles.ToList();
GridView1.DataBind();
不要忘记添加对 System.Linq
的引用如果您觉得有用,请标记为答案
答案 2 :(得分:0)
使用 FirstOrDefault()方法。
试试这个:
var roles = from MembershipUser u in Membership.GetAllUsers()
select new { User = u.UserName,
Role = Roles.GetRolesForUser(u.UserName).FirstOrDefault()
};