Repeating UpdatePanels

In some scenarios—for example, if you want to show the details of a repeated data structure on demand—it may be tempting to put an UpdatePanel control inside a repeated structure such as a DataList or a Repeater control, which, let's face it, is not a very good idea in most cases.

Sometimes, it's just better to place one big UpdatePanel around the repeated structure and update the whole thing on postbacks. Another option is the one shown in the last example of the previous section, in which a unique external UpdatePanel can associate dynamically with any item in the repeated structure (the DataList in the example). This works and scales well if you want only one details view to be visible at any given time.

However, it is possible to dynamically create UpdatePanel controls. This opens the possibility of an UpdatePanel control inside of the template of a Repeater or DataList (as well as a few other scenarios like UpdatePanel controls in WebParts). In Example 10, the template of a DataList control contains a conditionally updating UpdatePanel control. The template of the UpdatePanel control itself contains a label and a button. The click event handler for the button modifies the text of the label and the button.

Example 10. Repeating an UpdatePanel control.

<%@ Page Language="C#" %> <%@ Import Namespace="System.Drawing" %> <%@ Import Namespace="System.ComponentModel" %> <script runat="server"> protected void ButtonClick(object sender, EventArgs args) { Button btn ...

Get ASP.NET AJAX UpdatePanel Control now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.