我在控制器中对这样的用户进行身份验证:
FormsAuthentication.SetAuthCookie(User.Email, false);
(前提是凭证有效)。
通常,我可以在视图中访问用户的用户名(我刚开始使用剃刀):
@Html.Encode(Page.User.Identity.Name)
不幸的是,我得到了:
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:无法对空引用执行运行时绑定
我认为:
FormsAuthentication.SetAuthCookie(User.Email, false);
无效(登录和后续重定向工作正常)。
有人能看错吗?谢谢!
基督教
答案 0 :(得分:3)
不要使用Page。您可以自己在视图中访问用户。
@Html.Encode(User.Identity.Name)
答案 1 :(得分:0)
您可以使用HttpContext.Current.User.Identity.Name
。我建议将用户名作为ViewModel的一部分传递,而不是转发到Asp.Net框架区域。