代码之家  ›  专栏  ›  技术社区  ›  Ralph Lavelle

如何在不完全刷新的情况下从弹出页更新c父页

  •  3
  • Ralph Lavelle  · 技术社区  · 15 年前

    有人知道我如何从弹出页面上的操作重新加载父C页面上的UpdatePanel而不刷新整个父页面吗。我的父页不在Url中保留其状态,因此用户可能在这里展开了div,在那里刷新了列表,并且需要保留父页状态。只需在用户在弹出窗口中添加新事件时,包含“DomainObjects.Incident”GridView的UpdatePanel就应该更新/刷新。

    有没有办法在两个不同的asp.net页面之间连接事件?或者我应该使用javascript?

    4 回复  |  直到 15 年前
        1
  •  1
  •   Zachary    15 年前

    您可以通过调用以下命令刷新UpdatePanel:

    __doPostBack('<UpdatePanel ID>', '');
    

    例子:

    // Parent Page Refresh Function
    function Refresh()
    {
        __doPostBack('UpdatePanel1', '');
    }
    
    //Child Page Trigger
    <input type="button" id="button1" onclick="window.opener.Refresh()" value="Refresh Parent" />
    

    在调用Refresh()之前,您可能应该检查“window.opener.closed”,以确保父对象仍处于打开状态。

    我没有测试过这段代码,所以可能是o类型。

        2
  •  3
  •   ulty4life    15 年前

    要完全由.net代码管理,唯一的方法是使用类似AjaxControlToolkit的工具使弹出窗口成为主页中的模式div。

    否则,可以在子页和父页中使用javascript在父页中触发一些回发/回调。可以将回发/回调事件设置为更新面板的触发器。

        3
  •  0
  •   Community Mohan Dere    9 年前

    看看开窗器

    Reference parent window document

    JQuery - Write to opener window

    我的第一个想法是与父窗口通信以使用javascript执行刷新,您可以看到更新面板通过页面源调用的javascript,并使用相同的javascript。