System.Web.UI.Page won't let me access Current

2019-01-29 09:46发布

When I try

user = System.Web.UI.Page.CurrentUser

or

user = System.Web.UI.Page.User.Identity

I get an error saying that the method is not defined for System.Web.UI.Page

I am trying to access it within a Controller, does that matter?

I checked that I do not have another class named Page, Why would it say the method is not defined?

3条回答
闹够了就滚
2楼-- · 2019-01-29 10:13

Edit: Looks like someone else beat me to it.

Found the answer here: ASP.NET Controller Base Class User.Identity.Name
HttpContext.User seemed to work alright... anyone see anything wrong with that?

查看更多
三岁会撩人
3楼-- · 2019-01-29 10:19

CurrentUser doesn't seem to be a property on System.Web.UI.Page. (http://msdn.microsoft.com/en-us/library/system.web.ui.page.aspx)

Your controller should expose a property named User, does that work? For example:

var user = User;
查看更多
Evening l夕情丶
4楼-- · 2019-01-29 10:24

There are many ways to do it (basically, they are all the same)

User.Identity // in the controller
HttpContext.User.Identity // in the controller
System.Web.HttpContext.Current.User.Identity // anywhere

Page.User property works when there's a Page HTTP handler that's processing the current request. As in an MVC controller, the request has not been handed to a Page class, it won't work.

in the controller.

查看更多
登录 后发表回答