我在一个通用http处理程序(.ashx)后面的代码中,我想获得对调用.aspx页面实例的引用,这样我就可以调用一些方法/获取它的一些属性。我可以很容易地调用页面的静态方法,但是我无法获得实际的对象实例。
有没有办法,不用求助于服务/webmethods/什么的?谢谢!
编辑:
我在aspx页面中调用JS中的ashx。
$.ajax({
url: "handler.ashx",
context: "my content"
}).done(function() {
alert("Done");
});
然后,我用它的结果更新一个asp:Label
。无论如何,我已经找到了一种方法(例如,您可以通过来自JS的JQuery来做到这一点),但现在我很好奇,您是否可以通过简单地调用一些pageInstance.setMyLabel(ashxResult)
或类似的代码来做到这一点。
发布于 2022-01-11 11:39:33
没有通过服务器端代码直接修改调用..aspx页面内容的方法。
您应该(就像您自己提到的那样)使用javascript处理..ashx处理程序调用的结果。
如果您想使用一些结果'serverside‘,我认为唯一的选择是在..ashx处理程序的处理过程中向会话对象写入一些数据。
在..aspx页面的下一次回发中,您可以使用这些数据完成一些更改。如果你想这样做,请参考以下问题:
发布于 2022-01-11 11:39:52
页面类的实例只存在于处理请求并将响应发送回客户端所需的时间内。当Javascript代码执行并向ashx
文件发出请求时,页面实例已经被销毁。
https://stackoverflow.com/questions/70659775
复制相似问题