2

マスター ページで radwindow が閉じられたら、グリッドを再バインドしようとしています。私のグリッドは aspx ページのユーザー コントロールにあります。マスターページには次のものがあります:

 function CancelEdit() {
            GetRadWindow().Close();
        }

        function CloseAndRebind() {
            GetRadWindow().BrowserWindow.refreshGrid(); // Call the function in parent page 
            GetRadWindow().close(); // Close the window 
        }

        function refreshGrid() {
                $find("<%= RadAjaxManager1.ClientID %>").ajaxRequest("Rebind");
        }

そして、ユーザーコントロールに次のjavascriptがあります:

<script type="text/javascript" language="javascript">
    function refreshGrid() {
        $find("<%= RadAjaxManager.GetCurrent(me.Page).ClientID %>").ajaxRequest("Rebind");
    }

</script>

radwindow でデータベースの更新を閉じたら、javascript を登録します。

 ScriptManager.RegisterStartupScript(Page, Page.GetType(), "mykey", "CloseAndRebind();", True)

データ ソースの変更は確認できますが、グリッドは更新されません。助言がありますか?

編集 ::

The structure is something like this:

I have master page which has the RadAjaxManager.
There is a main page which has a user control
Another user control inside above user control which has the RadGrid
Then there is an aspx page that opens as radwindow
4

1 に答える 1

1

クライアント側のAPIを使用してグリッドを再バインドします。これを行うには、次の正しい方法が必要です。

お子様のページ:

    function refreshGrid() {
        $find("<%= YourGrid.ClientID %>").get_masterTableView().rebind();
    }

親ページからjavascript関数を呼び出すには、次を使用します。

    function CloseAndRebind() {
        GetRadWindow().get_contentFrame().contentWindow.refreshGrid(); // Call the function in parent page 
        GetRadWindow().close(); // Close the window 
    }
于 2013-01-11T16:51:28.487 に答える