我有一系列价格的产品。我希望根据用户组显示相应的价格。
到目前为止,我创建了描述这些组的角色
我想以某种方式获得当前用户的角色。
这样的事情:
public decimal Price {
get
{
var price = Prices.First(p => p.PriceType.Name == Something.CurentUser.Role);
return price;
}
}
答案 0 :(得分:1)
您可以根据每个角色的名称编写条件语句。根据用户是否是角色的成员,执行不同的LINQ语句。
if (User.IsInRole("Admin")) {
// ...
}
else if (User.IsInRole("UserPriceA")) {
// ...
}
else if (User.IsInRole("UserPriceB")) {
// ...
}
else if (User.IsInRole("UserPriceC")) {
// ...
}
答案 1 :(得分:1)
你不能这样做,因为用户可以拥有多个角色但你可以做到
Prices.Where( p=> Membership.GetRoles().Contains(p.PriceType.Name))在这款手机上打字并不好玩......很抱歉,简洁