When using an ASP.NET UpdatePanel and causing a postback while a previous postback is still in-progress, the default action is to cancel the first and allow the second to take over.
I've built a mechanism to do the opposite: to leave the first and cancel any subsequent requests which come from the same initiating control.
This is working perfectly on my machine. However, it doesn't work on a colleague's machine or our staging server.
The crucial part of the problem is this: when the PageRequestManager.initializeRequest event is fired, the args parameter on my machine contains a populated _postBackElement object, whereas on other machines this property is null.
As far as we can see, all else is the same - the markup/code which triggers the request, the <asp:ScriptManager /> declaration, the web.config...
So why is the PageRequestManager on other machines not populating this property, yet on my machine it does populate the property?