ASP.NET 身份用户角色 Table
ASP.NET Identity UserRole Table
我正在努力获取 ASP ListView 控件,以根据 DropDownList 控件的值填充用户。在页面加载时,列表视图将填充 table 中的所有用户。如果我 select 来自 DropDownList 的角色,我希望它显示属于 selected 角色的那些用户。我正在使用 ASP Identity 2.0 和基于角色的身份验证,以及模型绑定。我需要使用 LinQ 创建一个连接,连接用户 Table、用户角色 Table 和角色 table,我有点卡住了。如果我select一个角色没什么return回来。代码如下。
此代码段将角色绑定到 DropDownList
public IQueryable<IdentityRole> BindRoles()
{
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(_db));
var roles = from role in roleManager.Roles
orderby role.Name
select role;
return roles;
}
这是基于来自 DropDownList
的 selection 更新 ListView 控件的 GetData 方法
public IQueryable<User> GetData([Control("RolesDropDown")] string Id)
{
if (Id != null)
{
var users = from u in _db.Users
where u.Id == Id
select u;
return users;
}
else
return _db.Users;
}
考虑到我是 Linq 的新手,正在努力让它发挥作用。
会.
我似乎无法在网上找到可供参考的模式,但更有可能是交叉参考 table 可以显示角色中的用户。
您用作 GetData([Control("RolesDropDown")] string Id)
参数的语法对我来说是新的。我从没见过。但是,如果这是您要过滤的角色的 ID,那么您将在下面的查询中使用它。
我会使用 RolesDropDown.SelectedValue
从下拉列表中获取值
public IQueryable<User> GetData([Control("RolesDropDown")] string Id)
{
if (Id != null)
{
var users = from u in _db.Users
join r in _db.UsersInRoles on u.UserID equals r.UserID
where r.RoleID == Id
select u;
return users;
}
else
return _db.Users;
}
因此请查找角色和用户的交叉引用 table。
我正在努力获取 ASP ListView 控件,以根据 DropDownList 控件的值填充用户。在页面加载时,列表视图将填充 table 中的所有用户。如果我 select 来自 DropDownList 的角色,我希望它显示属于 selected 角色的那些用户。我正在使用 ASP Identity 2.0 和基于角色的身份验证,以及模型绑定。我需要使用 LinQ 创建一个连接,连接用户 Table、用户角色 Table 和角色 table,我有点卡住了。如果我select一个角色没什么return回来。代码如下。
此代码段将角色绑定到 DropDownList
public IQueryable<IdentityRole> BindRoles()
{
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(_db));
var roles = from role in roleManager.Roles
orderby role.Name
select role;
return roles;
}
这是基于来自 DropDownList
的 selection 更新 ListView 控件的 GetData 方法 public IQueryable<User> GetData([Control("RolesDropDown")] string Id)
{
if (Id != null)
{
var users = from u in _db.Users
where u.Id == Id
select u;
return users;
}
else
return _db.Users;
}
考虑到我是 Linq 的新手,正在努力让它发挥作用。
会.
我似乎无法在网上找到可供参考的模式,但更有可能是交叉参考 table 可以显示角色中的用户。
您用作 GetData([Control("RolesDropDown")] string Id)
参数的语法对我来说是新的。我从没见过。但是,如果这是您要过滤的角色的 ID,那么您将在下面的查询中使用它。
我会使用 RolesDropDown.SelectedValue
public IQueryable<User> GetData([Control("RolesDropDown")] string Id)
{
if (Id != null)
{
var users = from u in _db.Users
join r in _db.UsersInRoles on u.UserID equals r.UserID
where r.RoleID == Id
select u;
return users;
}
else
return _db.Users;
}
因此请查找角色和用户的交叉引用 table。