2

我正在尝试对 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”

4

1 回答 1

7

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

@using NameSpaceInWhichTheMyIdentityStaticClassIsDefined
@User.Identity.FullName()

或者,如果您想在许多视图中使用它以避免在每个视图中添加此命名空间,您也可以将其添加到(不要与 混淆)的<namespaces>部分:~/views/web.config~/web.config

<add namespace="NameSpaceInWhichTheMyIdentityStaticClassIsDefined" />
于 2012-08-23T16:10:40.493 回答