我在控制器中像这样'form authenticate‘用户:
FormsAuthentication.SetAuthCookie(User.Email, false);(当然,前提是凭证是有效的)。
通常,我可以像这样在视图中访问用户的用户名(我刚刚开始使用razor):
@Html.Encode(Page.User.Identity.Name)不幸的是,我得到了:
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:无法对空引用执行运行时绑定
我假设:
FormsAuthentication.SetAuthCookie(User.Email, false);不能正常工作(虽然登录和随后的重定向工作正常)。
有没有人能看出什么地方不对劲?谢谢!
克里斯蒂安
发布于 2011-07-19 22:15:18
不要使用Page。您可以从视图中单独访问User。
@Html.Encode(User.Identity.Name)发布于 2011-07-19 22:14:55
您可以使用HttpContext.Current.User.Identity.Name。不过,我建议将用户名作为ViewModel的一部分传入,而不是逃脱到Asp.Net框架领域。
https://stackoverflow.com/questions/6748453
复制相似问题