无法使用加载的子页面更新父页面中的项目

时间:2009-07-03 13:49:36

标签: .net asp.net jquery visual-studio-2008

嘿伙计们,这更像是“做什么?”事实上问题......这里是:

我有一个页面,用户可以在其中执行所选服务..每个服务都是不同的完整.aspx页面(其中有很多)。

页面分为3个部分,如图所示:

alt text http://geocities.com/gth_sal/question.png

面板A:在带有数据源的网格视图中和更新面板内列出所选服务(项目1,2,3)。 面板B这是一个div,我使用jquery的.load()函数加载.aspx服务页面 (每个单独的.aspx服务文件都有一个执行服务的按钮)

我想要做的是在执行服务后重新加载PanelA和PanelC中的项目以检查它们是否已执行(如第1项),但由于ExecuteButton位于辅助页面中,我无法使用它的事件进行更新在父页面中..

有没有办法做到这一点?或者也许是另一个完全不同的解决方案? 也许没有jquery ..

2 个答案:

答案 0 :(得分:1)

添加到Xandy的答案,您可以从客户端访问父窗口;    window.parent。

所以基本上你可以做window.parent.jQuery(“。MySelectorToRefresh”)。load(“myURL”);

HTH

答案 1 :(得分:0)

我没有真正为你的情况设置测试用例,但我认为你可以试试这个,让我知道它是怎么回事。 首先,假设您的整个页面(包含面板a,b,c)称为index.aspx。然后你可以设置一个回调函数来更新面板A和C.例如

UpdateCallBack = function(updateParameters){};

现在,我不确定您何时更新面板,如果一旦完成serviceItem1.aspx加载并更新面板,您就可以绑定到AJAX success event。但是,如果用户需要在Panel B中执行某些操作,然后是Panel A,C将更新,则可以在index.aspx中调用我们之前设置的UpdateCallBack函数。我认为可以从Panel B的内容中调用该函数。