FormsAuthentication问题

时间:2011-07-19 14:05:02

标签: asp.net-mvc asp.net-mvc-3

我在控制器中对这样的用户进行身份验证:

FormsAuthentication.SetAuthCookie(User.Email, false);

(前提是凭证有效)。

通常,我可以在视图中访问用户的用户名(我刚开始使用剃刀):

@Html.Encode(Page.User.Identity.Name)

不幸的是,我得到了:

Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:无法对空引用执行运行时绑定

我认为:

 FormsAuthentication.SetAuthCookie(User.Email, false);

无效(登录和后续重定向工作正常)。

有人能看错吗?谢谢!

基督教

2 个答案:

答案 0 :(得分:3)

不要使用Page。您可以自己在视图中访问用户。

@Html.Encode(User.Identity.Name)

答案 1 :(得分:0)

您可以使用HttpContext.Current.User.Identity.Name。我建议将用户名作为ViewModel的一部分传递,而不是转发到Asp.Net框架区域。