Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 强类型@User.Identity_Asp.net Mvc 3_Razor_Strong Typing_Custom View_Iidentity - Fatal编程技术网

Asp.net mvc 3 强类型@User.Identity

Asp.net mvc 3 强类型@User.Identity,asp.net-mvc-3,razor,strong-typing,custom-view,iidentity,Asp.net Mvc 3,Razor,Strong Typing,Custom View,Iidentity,我自定义IIdentity和IPrincipal在IIdentity中添加更多属性 您可以为我的自定义类获取强类型实例@User.Identity?无需在cast中进行转换 我想到了像razor这样的定制视图的方法,但甚至不知道从哪里开始。您可以尝试在IPrincipal public static class PrincipalExtensions { public static MyIdentity GetMyIdentity (this IPrincipal principal)

我自定义
IIdentity
IPrincipal
IIdentity
中添加更多属性

您可以为我的自定义类获取强类型实例
@User.Identity
?无需在cast中进行转换


我想到了像razor这样的定制视图的方法,但甚至不知道从哪里开始。

您可以尝试在
IPrincipal

public static class PrincipalExtensions
{
    public static MyIdentity GetMyIdentity (this IPrincipal principal)
    {
        return principal.Identity as MyIdentity;
    }
}

然后通过调用
@User.GetMyIdentity()

获取您的标识。您可以为视图创建一个新的基类型,并向其添加一个属性或方法来执行强制转换。这样,您就可以避免在您的视图中一直这样做

也不懂“鱼翅破”;我在哪里可以找到一篇好文章,解释如何自定义我的ViewBase(基于razor)?@漂流抱歉,我有一些奇怪的打字错误。意思是“方法”。