我在Page_Load of Site.Master.cs中有这段代码。
if(User.IsInRole("Read"))
{
NavigationMenu.Visible = false;
}我得到了一个错误:
非静态字段、方法或属性'Microsoft.VisualBasic.ApplicationServices.User.IsInRole(string).需要对象引用。
有什么线索吗?
发布于 2011-08-20 14:47:08
看起来您正在使用该类,而不是使用该类的实例:
User user = new User();
user.IsInRole("Read");发布于 2011-08-20 14:50:31
您可以获得当前的HttpContext 用户,并使用IsInRole法验证给定角色,如下所示。
HttpContext.Current.User.IsInRole("Read")
将方法更改为
if(HttpContext.User.IsInRole("Read"))
{
NavigationMenu.Visible = false;
}发布于 2011-08-22 09:25:01
我不完全同意这个答案。您将从母版页中的User属性获取Page实例,因此您应该使用:
var user = Page.User;
user.IsInRole("your role");https://stackoverflow.com/questions/7132445
复制相似问题