【发布时间】:2011-04-07 06:32:40
【问题描述】:
在某些库类中,有没有办法我可以确定哪个网页 调用它,而不必传入调用 Page 对象?
【问题讨论】:
-
好吧,如果信息驻留在 Page 对象中,那么您认为如何在不引用 Page 对象的情况下获取该信息?
在某些库类中,有没有办法我可以确定哪个网页 调用它,而不必传入调用 Page 对象?
【问题讨论】:
查看这里给出的答案:Get current System.Web.UI.Page from HttpContext?
你正在寻找 HttpContext.Handler。自页面 实现 IHttpHandler,你会得到 对当前执行的引用 page.You'll 必须投它,或在 至少尝试将其投射到特定的 您要查找的类型。
【讨论】:
好吧,您可以使用HttpContext.Current 来获取当前的HttpContext,这可以让您找出请求。我不相信这会让你访问Page 本身虽然1...如果你真的需要实际的Page,我认为将它传递给方法将是最干净的方法. (它消除了线程局部变量的一些“魔力”,也使测试库代码变得更容易。)
您的库代码需要对页面做什么?该库是否与 Web 应用程序紧密相关,或者它在其他环境中是否有用?
1 我从另一个答案中看到Page 本身就是Handler,所以你只需要一个演员表。不过,这对我来说仍然有些难看。
【讨论】: