Как получить параметр, переданный в _dopostback() в методе endrequest?

Как получить значение параметра, переданного в

_dopostback('','');

Например
__doPostBack('<%=upSubAccount.ClientID %>',true);
Я хочу получить второй параметр в обработчике 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;
        }
    }

1 ответ

Решение

Второй аргумент - это аргумент события.
Это не хранится в рамках.
Однако вы можете легко сохранить его в своей собственной переменной и получить к нему доступ позже.
Вам нужно только заменить __doPostBack с вашей собственной функцией.

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

Тогда вы можете использовать его по мере необходимости.

Другие вопросы по тегам