Making a difference between AsyncPostbacks in nested UpdatePanels in Asp.Net AJAX

前端 未结 1 371
温柔的废话
温柔的废话 2021-01-17 04:33

In an ASP.net AJAX project (WebForms),
I have an UpdatePanel, and in UpdatePanel i have multiple nested Controls with UpdatePanels, basically i have control trees. The Pa

1条回答
  •  情话喂你
    2021-01-17 04:57

    I've deleted my other answer - seeing as you're now describing a completely different problem to the initial one, and it seemed foolish to completely replace my answer, while keeping the rep for the previous version.

    You're going to have to check either the events causing the asynchronous call backs, or check for some value of the controls in each of the update panels to help you work out what's changed.

    This is one of the key reasons I decided not to use update panels, the asynchronous post-back causes almost all of the page life-cycle events to happen, and makes it very hard to actually see what's happening in complex situations like this - the only time I've used an update panel in anger was on my personal site to wrap around a data grid to save the whole page reload when working with large sets of data.


    Edit to add:

    Just trying to help, a quick google turned up this (AJAX and the ASP.NET 2.0 Callback Framework):

    Which control initiated the request?

    In the postback request, the ScriptManager id operates as the parameter. In general, the value is the id of the control that initiated the partial postback. It is in the format |. Controls can register with the ScriptManager directly or via an UpdatePanel. The ScriptManager.AsyncPostBackSourceElementID property will return the id of the control that initiated the partial postback.

    Example syntax:

    ScriptManager1=UpdatePanel1|Button1
    

    That page also goes into some detail about the life cycle, and various hooks into the process.

    0 讨论(0)
提交回复
热议问题