0


add_endRequestでポストバックを引き起こした要素のIDを取得するにはどうすればよいですか?

//EndRequestプロセスを配線します。

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(requestComplete_Handler)

    //will be called after the async request completes.
    function requestComplete_Handler(sender, args)
    {
        var panel = sender._postBackSettings.sourceElement.id;
        switch (panel)
        {
            case "<%=upSubAccount.ClientID %>":
                __doPostBack('<%=upAllocationChart.ClientID%>');
                break;
            case "<%=upAllocationChart.ClientID%>" :   
               __doPostBack('<%=upTotal.ClientID %>');
            break;
        }
    }

これは機能しますが、毎回
sender._postBackSettings.sourceElement.id;
感謝するわけではありません。

4

1 に答える 1

0

前の質問への回答で提案したのと同じ方法を使用する必要があります。

最初の引数はイベントターゲットです。
これは、イベントをトリガーした要素です。
ただし、独自の変数に簡単に保存して、後でアクセスすることができます。を独自の関数
に置き換えるだけです。__doPostBack

var orignalDoPostback = __doPostBack;
var lastEventTarget = "";
var lastEventArgument = "";
__doPostBack = function(eventTarget, eventArgument)
{
   lastEventTarget = eventTarget;
   lastEventArgument = eventArgument;
   orignalDoPostback(eventTarget, eventArgument);
}

その後、必要に応じて使用できます。

于 2013-03-26T05:13:54.040 に答える