延伸IIdentity

时间:2012-08-23 16:08:50

标签: c# asp.net-mvc extension-methods membership-provider iidentity

我正在尝试使用IIdentity的exention方法

这是我的班级:

public static class MyIdentity 
{
    public static string FullName(this IIdentity identity)
    {
        return "John Doe";
    }
}

我试图在我的观点上使用它:

@Context.User.Identity.FullName()

但是我收到以下错误:

  

'System.Security.Principal.IIdentity'不包含'FullName'的定义,也没有接受第一个类型'System.Security.Principal.IIdentity'的扩展方法'FullName'可以找到

1 个答案:

答案 0 :(得分:7)

确保您已将定义此扩展方法的命名空间带入视图中的范围:

@using NameSpaceInWhichTheMyIdentityStaticClassIsDefined
@User.Identity.FullName()

或者如果您想在许多视图中使用它以避免在每个视图中添加此命名空间,您还可以将其添加到<namespaces>的{​​{1}}部分(不要与{{1}混淆}):

~/views/web.config