【问题标题】:Can't update items in parent page using loaded child page无法使用加载的子页面更新父页面中的项目
【发布时间】:2009-07-03 13:49:36
【问题描述】:

大家好,这更像是“要做什么?”实际上比一个问题...这里是:

我有一个页面,用户可以在其中执行选定的服务。这些服务中的每一个都是不同的完整 .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 ..

【问题讨论】:

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


    【解决方案1】:

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

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

    HTH

    【讨论】:

    • 嗯,我需要刷新的部分与特定的 URL 无关。它是整个页面的一部分。
    【解决方案2】:

    我并没有真正为您的情况设置测试用例,但我认为您可以尝试一下并告诉我情况如何。 首先,假设您的整个页面(包含面板 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 的内容中调用该函数。

    【讨论】:

      猜你喜欢
      • 2011-08-19
      • 1970-01-01
      • 2023-04-11
      • 2021-10-08
      • 1970-01-01
      • 2011-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多