在某些库类中,有没有办法可以确定哪个网页 调用它,而不必传入调用的Page对象?
答案 0 :(得分:5)
请参阅此处给出的答案:Get current System.Web.UI.Page from HttpContext?
你在寻找 HttpContext.Handler。自页 实现IHttpHandler,你将获得 对当前正在执行的引用 你必须投下它,或者 至少尝试将其投射到特定的 你正在寻找的类型。
答案 1 :(得分:2)
好吧,可以 使用HttpContext.Current
来获取当前HttpContext
,这可以让您找到请求。我不相信这会让你访问Page
本身虽然 1 ...如果你真的需要实际的Page
,我认为将它传递给方法会是最干净的方法。 (它删除了线程本地的一些“神奇”,并且还使测试库代码变得更容易。)
您的图书馆代码需要对页面做什么?该库是否与Web应用程序紧密相关,还是在其他环境中有用?
1 我从另一个答案看到Page
本身就是Handler
,所以你只需要一个演员。这对我来说仍然有点难看。