我在Page_Load
的{{1}}内有此代码。
Site.Master.cs
我收到此错误:
非静态字段,方法或者需要对象引用 属性 “Microsoft.VisualBasic.ApplicationServices.User.IsInRole(字符串)。
任何线索?
答案 0 :(得分:7)
您可以获取最新的HttpContext user并使用IsInRole method验证给定的角色,如下所示。
HttpContext.Current.User.IsInRole("Read")
将您的方法更改为
if(HttpContext.User.IsInRole("Read"))
{
NavigationMenu.Visible = false;
}
答案 1 :(得分:2)
看起来您正在使用该类而不是该类的实例尝试:
User user = new User();
user.IsInRole("Read");
答案 2 :(得分:1)
我不完全同意答案。您从主页中的User
属性获取Page
实例,因此您应该使用:
var user = Page.User;
user.IsInRole("your role");