在我的控制器类中,我有私有方法,它返回使用User.Identity.Name作为参数获取的记录用户,这一切都很好。
private static Account GetLoggedUser()
{
AccountService accService = new AccountService();
Account userAccount = accService.GetAccountByUsername(User.Identity.Name);
return userAccount;
}
public ActionResult Edit()
{
var userAccount = GetLoggedUser();
...
}
问题是我在第User.Identity.Name
行
非静态字段需要对象引用, 方法或属性'System.Web.Mvc.Controller.User.get'
编译时显示错误。
答案 0 :(得分:4)
您正在静态方法中调用非静态对象/属性,它们看起来在同一个类中。你需要有一个类的实例才能使用它。或者将方法更改为非静态。
答案 1 :(得分:3)
您正在以静态方法检索控制器的属性...
删除static
方法
GetLoggedUser()
从:
private static Account GetLoggedUser()
{
// your code
}
为:
private Account GetLoggedUser()
{
// your code
}
答案 2 :(得分:2)
您无法以静态方法访问基类实例成员。