【发布时间】:2016-03-01 21:05:07
【问题描述】:
我在我的控制器文件夹中创建了一个名为Utils 的类。但是,无法找到和访问其静态方法。这是声明:
using ProjectManager.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Principal;
using System.Web;
using Microsoft.AspNet.Identity;
using System.Web.Security;
namespace ProjectManager.Controllers
{
public static class Utils
{
public static bool isInRole(IPrincipal User, string roleName, ApplicationDbContext dbContext)
{
try
{
var currentUser = (from user in dbContext.Users
where user.Id == User.Identity.GetUserId()
select user).First();
RolePrincipal r = (RolePrincipal)User;
string[] rolesArray = r.GetRoles();
if (rolesArray.Contains(roleName))
return true;
}
catch (Exception ex)
{
return false;
}
return false;
}
}
}
【问题讨论】:
-
您是否尝试过使用完全限定名称
ProjectManager.Controllers.Utils.isInRole引用方法? -
了解您在何处/如何尝试访问此方法会很有帮助。方法声明看起来正确,因此您的问题很可能是缺少引用或隐藏您的静态类的类似命名空间之一。
标签: c# asp.net asp.net-mvc static-methods