Asynchronen AJAX PostBack erkennen
Um zu erkennen ob der aktuelle Request durch einen ASP.NET AJAX PostBack ausgelöst wurde, muss man nur den ScriptManager fragen:
if(ScriptManager.GetCurrent(Page).IsInAsyncPostBack)
{
// Aufruf ist ein AsyncPostBack :-)
}
zudem kann man über den ScriptManager erfahren, welches Control den Asysnchronen PostBack ausgelößt hat:
if(ScriptManager.GetCurrent(Page).AsyncPostBackSourceElementID == "ctl001$myButton")
{
// Aufruf wurde von "myButton" ausgelößt :-)
}
Die Abfrage der AsyncPostBackSourceElementID liefert die UniqueID (mehr dazu) des auslösenden Controls. Triggernde Controls werden ebenfalls zurückgegeben.