【问题标题】:How do I get a reference to the Page object in an asmx it calls如何在它调用的 asmx 中获取对 Page 对象的引用
【发布时间】:2010-02-13 23:53:00
【问题描述】:

我有一个在项目中调用 asmx 的页面(对于一些 ajax 内容)。在那个 asmx 中,我正在计算一个值并将其返回以输出到屏幕。

但是我需要重新计算,包括将此值与其他一些值相加。执行计算的函数位于页面上的 UserControl 中。

如何获取对页面对象的引用,以便可以使用 FindControl 获取用户控件的实例,以便调用该计算函数?

提前感谢您的帮助

【问题讨论】:

  • @Cen,你真的应该标记你得到的最佳答案,否则将来没有人会回复你。

标签: c# asp.net asp.net-ajax asmx


【解决方案1】:

您遇到了设计危机。我什至不会提到鲁布·戈德堡……哎呀……

如果您有一些逻辑需要在 UserControl 中使用并用于异步拉取,您应该将该逻辑隔离在您从用户控件调用的它自己的类中以及您用于 Ajax 的 pagemethod 中。

我什至不会接受您的问题的解决方案。这对我们俩都会适得其反,我可能会考虑到动脉瘤。 ;-)

【讨论】:

  • 嗯,这是我刚刚学习的内容 - 我已经重新设计了我拥有所需数据的地方,并且所有这些都可以正常工作。现在,我只是看看我是否可以得到一个名为 asmx 的 Page 句柄。
  • 定义“获取句柄”。要回答您的问题,如果您使用 pagemethod 作为 ajax 调用的端点,则否。页面方法是静态的,而您的控件不是。
  • 我并不是要骗你或劝阻你。我们都去过那里。
【解决方案2】:

好吧,我很困惑....什么叫 ASMX?

听起来它是通过 javascript 从页面调用的——这意味着 Page 对象已经消失了。

ASPX 页面是一个短程序,它会存在片刻,输出一些 HTML,然后终止。 HTML 进入浏览器,然后浏览器与 ASMX 页面对话。最终,您回发并创建了一个新的 Page 对象。

【讨论】:

  • 我脑子里放了个屁。呃@我。页面加载后,我很少使用它。因此,我完全没有考虑记住页面生命周期。谢谢你让我意识到我需要走开去打个盹。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多