telerik - 如何在孩子2窗口关闭后刷新子窗口1

时间:2015-01-30 18:11:32

标签: telerik radwindow

请帮帮我! 我有1个apsx页面和2个uc。 从aspx可以打开radwindow包含uc 1,从uc 1可以打开uc 2.在aspx中,我有:

function CloseRadWindow()
    {
        if(GetRadWindowManager().getActiveWindow() == null)
        {
            refreshGridGiaoDuToan(); //this one refresh aspx page from uc 1
        }
        else
        {
//i hope this one fresh uc1 after close uc2 but error
            var wnd2 = GetRadWindowManager().getWindowByName("wndPopup2");
            console.log(wnd2);
            wnd2.get_contentFrame().contentWindow.refreshGridNhiemVu();
        }

    }

    function refreshGridGiaoDuToan() {
        $find("<%= pnGiaoNganSach.ClientID %>").ajaxRequest("SoGiao");
    } 

on uc 1我有

   function refreshGridNhiemVu() {
    alert("va");
    $find("<%= pnGiaoNganSachChiTiet.ClientID %>").ajaxRequest("RefreshNhiemVu");
}

但是当我关闭uc 2时,总是出错:get_contentFrame()。contentWindow.refreshGridNhiemVu不是函数......

所以我的问题是如何在关闭uc2后刷新(在codebehind中调用函数)uc 1? 请帮我!谢谢!

1 个答案:

答案 0 :(得分:1)

通常,这种方法是正确的。您必须确保引用了正确的RadWindow实例,并且可以添加一些检查函数是否存在以避免错误:

您可以使用typeof检查进行扩展,以确保变量在调用之前是一个函数。