Get current System.Web.UI.Page from HttpContext?

随声附和 提交于 2019-11-27 03:21:45

No, from MSDN on HttpContext.Current: "Gets or sets the HttpContext object for the current HTTP request."

In other words it is an HttpContext object, not a Page.

You can get to the Page object via HttpContext using:

Page page = HttpContext.Current.Handler as Page;

if (page != null)
{
     // Use page instance.
}
Kilhoffer

You're looking for HttpContext.Handler. Since Page implements IHttpHandler, you'll obtain a reference to the currently executing page.You'll have to cast it, or at least try to cast it to the particular type you're looking for.

HttpContext.Current simply returns the singleton instance of HttpContext. Therefore, it is not and can never be, a page.

user452427

You may want to use HttpContext.Current.CurrentHandler if you want the precise page that is currently executing. For example, a request for Default.aspx is sent, but an error is thrown and you do a Response.Transfer to your custom ErrorHandler.aspx page. CurrentHandler will return the instance of ErrorHandler.aspx (if called after the error) whereas HttpContext.Current.Handler would return an instance of Default.aspx.

Amin Ghaderi

Please see my answer :
Why HttpContext.Current.Handler is null?

Maybe resolved your problem.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!