Можно сцепить событие PageRequestManager.beginRequest и осмотреть свойство BeginRequestEventArgs.postBackElement.
Примечание, которое это не делает действительно , дает Вам UpdatePanel, но управление в UpdatePanel. Это должно быть достаточно хорошо, все же.
Редактирование: Еще лучше событие PageRequestManager.pageLoaded дает Вам PageLoadedEventArgs.panelsUpdated (и panelsCreated) свойства.
Это может быть Вашим решением.
В коде позади для события UpdatePanel's OnLoad, зарегистрируйте сценарий запуска.
string scriptText = "alert('Bar!');";
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "foo", scriptText, true);
Спасибо - оба хороших ответа. Я пошел с клиентским сценарием "pageloaded" в конце. Это - справедливо проложенный под землей метод, который Google не показал мне. Для тех, кому интересно, этот код работы с FireBug для предоставления хорошей демонстрации метода PageLoaded, работающего для нахождения обновленных панелей:
<script type="text/javascript">
$(document).ready(function() {
panelsLoaded = 1;
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(PageLoaded)
});
function PageLoaded(sender, args) {
console.log("I have occured " + panelsLoaded++ + " times!");
var panelsCreated = args.get_panelsCreated();
for (var i = 0; i < panelsCreated.length; i++) {
console.log("Panels Updating: " + panelsCreated[i].id);
}
var panelsUpdated = args.get_panelsUpdated();
for (var i = 0; i < panelsUpdated.length; i++) {
console.log("Panels Updating: " + panelsUpdated[i].id);
}
}
</script>