ASP.NET MVC - 如何在请求之间保存一些数据?

Ton*_*ony 2 asp.net-mvc

我正在尝试解决问题:当用户登录WebSite时(通过存储在母版页上的用户控件.ascx),它的名称存储在Page.User.Identity.Name属性中.好的,但是如何在控制器中检索该用户名?是否可以在控制器中注册System.Security.Principal命名空间?换句话说 - 控制器必须知道谁的用户想要做某些动作(例如,更改账户数据).我可以将它的名字存储在每个View的Html.Hidden控件中,但我不希望在我的视图中弄得一团糟

Rob*_*vey 5

IPrincipal User 是你控制器中的一个成员(它是一个属性),所以你需要做的就是在控制器方法中获取当前登录用户的名字

string userName = User.Identity.Name
Run Code Online (Sandbox Code Playgroud)