我有2个控制器。 A HomeController
和AccountController
。我有一个_Layout.cshtml
和部分视图_Login.cshtml
,它在_Layout
视图的标题部分中呈现。 HomeController
具有默认的Index()
方法。剃刀记住我和填充用户信息
第一次,用户看到有一个帐户?登录。登录是指向AccountController
中的登录方法的链接。登录视图包含用户名,密码字段和用于记住我的复选框。当用户第一次登录并且记住我时,我打电话给我的MySecurityRepository
以:验证用户并获取其个人资料(地址,电话号码,电子邮件等)的基本信息,并且UserInfo
对象是填充并且标题显示UserName作为链接。这一切都有效。
用户关闭浏览器并重新打开网站。我看到用户已经登录,Request.IsAuthenticated
是真的,但我该如何去检索用户的配置文件和缓存?
这里是什么_Login
局部视图看起来像......
<div id="login">
@if (Request.IsAuthenticated)
{
<text>
[@Html.ActionLink((HttpContext.Current.Session["UserInfo"] as UserInfo).FirstName, "Profile", "Account")]
[@Html.ActionLink("Log Off", "LogOff", "Account")]
</text>
}
else
{
<span>Have an account?</span>
@Html.ActionLink("Log In", "LogOn", "Account")
} </div>
感谢。
我正在学习MVC 3;没有意识到有什么叫做儿童行为。 – CodeWzrd 2012-02-17 19:26:26
@CodeWzrd,它们是在ASP.NET MVC 2中引入的,并且非常有用,因为它们允许您为必须在每个视图上显示的布局部分定义单独的MVC生命周期。 – 2012-02-17 19:27:28