控件可以盲目代理另一个URL,包括PostBack吗?

时间:2010-12-27 17:20:38

标签: asp.net controls

可以有一个控件来代理对另一个域/网站的请求,包括回发?

在此控件中,您将指定要执行的URL,并且无论何时执行控件,它都会向此其他URL发出GET请求,并呈现HTML返回。 (这部分并不难。)

然而,当页面回发时,它会将POST请求及其所有回发变量保持不变,直到另一页。

我真的在寻找一个盲目的代理人。一些控件将接收传入请求并将其抛出另一个URL,并呈现结果。另一页真的不知道它没有与人交互。

我想我可以发展这一点,但我不能成为第一个想要这样做的人,所以谷歌没有向我透露解决方案的原因必然存在。我怀疑我会遇到同样存在这个想法的大问题。

2 个答案:

答案 0 :(得分:0)

我不确定这是什么价值;这可能是你还没有找到解决方案的原因。

然而,在我看来,有两种可能的解决方案。

  1. 当呈现页面时,控件将表单操作修改为指向其他位置;或者,
  2. 在回发后,让控件使用帖子变量执行对备用URL的Web请求,并决定当时如何处理结果。

答案 1 :(得分:0)

为此,这从来没有太大的工作机会。我试验了一段时间,但Postback需要对控制树有深入的了解,并且你无法将调用页面的回发应用到另一页并使其正确覆盖,因为控件两页之间的树木完全不同。

现在,如果您想将后端应用程序编写为更传统的Web应用程序(甚至不是ASP.Net中的内容),它可能会起作用。在回发期间,您可以迭代Request.Form值并将其发回,并让您的后端应用程序准备接受这些传入的值并处理它们,但这不是传统的回发。