asp.net绕过动态加载的页面来获取目标

时间:2015-03-27 00:15:28

标签: asp.net user-controls response.redirect

背景:

  • 现有的asp.net Web应用程序使用了许多动态加载的用户 控件和页面
  • 其中许多页面和用户控件都依赖于父页面上下文
  • 包含应用程序“版本2”的新项目需要在生产中与上述旧版本集成,而“版本2”继续开发

情形: 我正在使用带有参数化URL的response.redirect,从“版本2”页面导航回动态加载的旧页面 - 如果愿意,可以使用“页面1”。这很好用。但是,最终目标/目标是直接导航到动态加载的旧页面,该页面距离初始目标“2次点击”。 “点击”将来自动态呈现的控件。

问题: 是否可以从代码隐藏中的“版本2”页面直接导航到此最终目标?当我通过初始重定向调用用户单击紧跟在调用堆栈之后的代码中的过程时,它仍然会将我放在遗留页面1上。

因此,基本问题在处理直接导航几个“跳”到动态加载的页面方面更具概念性。换句话说,可以在动态控件的代码隐藏中控制导航,而无需将它们实际渲染回屏幕上的客户端吗?

我有责任帮助我摆脱这种僵局。

/约翰

1 个答案:

答案 0 :(得分:0)

问题的关键在于如何从应用程序中需要多次点击事件(即多次往返)的点到达动态生成的目标页面,并将其减少到代码隐藏中的单个往返。

在代码隐藏中调用连续点击事件而不进行渲染会导致页面生命周期的递归违规。

基本上,顺序点击事件不能在一次往返中使用 - 解决方案是利用相关的底层过程调用,和/或编写新的调用以产生目标页面。