我如何获得在add_endRequest中导致回发的元素的id?
例如
//连接结束请求流程,
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;
感谢。
答案 0 :(得分:0)
您必须使用我在previous question的答案中建议的相同方法。
第一个参数是事件目标
这是触发事件的元素
但是,您可以轻松地将其存储在您自己的变量中并稍后访问它
您只需要用自己的功能替换__doPostBack
。
var orignalDoPostback = __doPostBack;
var lastEventTarget = "";
var lastEventArgument = "";
__doPostBack = function(eventTarget, eventArgument)
{
lastEventTarget = eventTarget;
lastEventArgument = eventArgument;
orignalDoPostback(eventTarget, eventArgument);
}
然后您可以根据需要使用它。