Partager via


UpdatePanel Classe

Définition

Permet aux sections d’une page d’être partiellement affichées sans publication.

public ref class UpdatePanel : System::Web::UI::Control
public ref class UpdatePanel : System::Web::UI::Control, System::Web::UI::IAttributeAccessor
[System.Drawing.ToolboxBitmap(typeof(EmbeddedResourceFinder), "System.Web.Resources.UpdatePanel.bmp")]
public class UpdatePanel : System.Web.UI.Control
[System.Drawing.ToolboxBitmap(typeof(EmbeddedResourceFinder), "System.Web.Resources.UpdatePanel.bmp")]
public class UpdatePanel : System.Web.UI.Control, System.Web.UI.IAttributeAccessor
[<System.Drawing.ToolboxBitmap(typeof(EmbeddedResourceFinder), "System.Web.Resources.UpdatePanel.bmp")>]
type UpdatePanel = class
    inherit Control
[<System.Drawing.ToolboxBitmap(typeof(EmbeddedResourceFinder), "System.Web.Resources.UpdatePanel.bmp")>]
type UpdatePanel = class
    inherit Control
    interface IAttributeAccessor
Public Class UpdatePanel
Inherits Control
Public Class UpdatePanel
Inherits Control
Implements IAttributeAccessor
Héritage
UpdatePanel
Attributs
Implémente

Exemples

Les exemples suivants montrent différentes utilisations du UpdatePanel contrôle.

Contrôles à l’intérieur d’un contrôle UpdatePanel

L’exemple suivant montre comment placer des contrôles à l’intérieur d’un UpdatePanel contrôle pour réduire le scintillement de l’écran lorsque vous publiez sur le serveur. Dans cet exemple, un Calendar contrôle et un DropDownList contrôle se trouvent à l’intérieur d’un UpdatePanel contrôle. Par défaut, la UpdateMode propriété est Always et la ChildrenAsTriggers propriété est true. Par conséquent, les contrôles enfants du panneau provoquent une publication asynchrone.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    void DropDownSelection_Change(Object sender, EventArgs e)
    {
        Calendar1.DayStyle.BackColor =
            System.Drawing.Color.FromName(ColorList.SelectedItem.Value);
    }

    protected void Calendar1_SelectionChanged(object sender, EventArgs e)
    {
        SelectedDate.Text = 
            Calendar1.SelectedDate.ToString();
    }

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>UpdatePanel Example</title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" 
                               runat="server" />
            <asp:UpdatePanel ID="UpdatePanel1"
                             runat="server">
                <ContentTemplate>
                    <asp:Calendar ID="Calendar1" 
                                  ShowTitle="True"
                                  OnSelectionChanged="Calendar1_SelectionChanged"
                                  runat="server" />
                    <div>
                        Background:
                        <br />
                        <asp:DropDownList ID="ColorList" 
                                          AutoPostBack="True" 
                                          OnSelectedIndexChanged="DropDownSelection_Change"
                                          runat="server">
                            <asp:ListItem Selected="True" Value="White"> 
                            White </asp:ListItem>
                            <asp:ListItem Value="Silver"> 
                            Silver </asp:ListItem>
                            <asp:ListItem Value="DarkGray"> 
                            Dark Gray </asp:ListItem>
                            <asp:ListItem Value="Khaki"> 
                            Khaki </asp:ListItem>
                            <asp:ListItem Value="DarkKhaki"> D
                            ark Khaki </asp:ListItem>
                        </asp:DropDownList>
                    </div>
                    <br />
                    Selected date:
                    <asp:Label ID="SelectedDate" 
                               runat="server">None.</asp:Label>
                </ContentTemplate>
            </asp:UpdatePanel>
            <br />
        </div>
    </form>
</body>
</html>

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    Sub DropDownSelection_Change(ByVal Sender As Object, ByVal E As EventArgs)
        Calendar1.DayStyle.BackColor = _
        System.Drawing.Color.FromName(ColorList.SelectedItem.Value)
    End Sub

    Protected Sub Calendar1_SelectionChanged(ByVal Sender As Object, ByVal E As EventArgs)
        SelectedDate.Text = Calendar1.SelectedDate.ToString()
    End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>UpdatePanel Example</title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" 
                               runat="server" />
            <asp:UpdatePanel ID="UpdatePanel1"
                             runat="server">
                <ContentTemplate>
                    <asp:Calendar ID="Calendar1" 
                                  ShowTitle="True"
                                  OnSelectionChanged="Calendar1_SelectionChanged"
                                  runat="server" />
                    <div>
                        Background:
                        <br />
                        <asp:DropDownList ID="ColorList" 
                                          AutoPostBack="True" 
                                          OnSelectedIndexChanged="DropDownSelection_Change"
                                          runat="server">
                            <asp:ListItem Selected="True" Value="White"> 
                            White </asp:ListItem>
                            <asp:ListItem Value="Silver"> 
                            Silver </asp:ListItem>
                            <asp:ListItem Value="DarkGray"> 
                            Dark Gray </asp:ListItem>
                            <asp:ListItem Value="Khaki"> 
                            Khaki </asp:ListItem>
                            <asp:ListItem Value="DarkKhaki"> D
                            ark Khaki </asp:ListItem>
                        </asp:DropDownList>
                    </div>
                    <br />
                    Selected date:
                    <asp:Label ID="SelectedDate" 
                               runat="server">None.</asp:Label>
                </ContentTemplate>
            </asp:UpdatePanel>
            <br />
        </div>
    </form>
</body>
</html>

Scénario maître/détail avec les contrôles UpdatePanel

Dans l’exemple suivant, un UpdatePanel contrôle est utilisé dans un scénario maître/détail qui affiche les commandes et les détails des commandes de la base de données Northwind. Un UpdatePanel contrôle contient le GridView contrôle qui affiche une liste de commandes. Un deuxième UpdatePanel contrôle contient un DetailsView contrôle qui affiche les détails d’une commande. Lorsque vous sélectionnez une commande dans la première table, les détails de cette commande sont affichés dans le deuxième tableau. La deuxième table est mise à jour de façon asynchrone en fonction de la sélection dans la première table. Les opérations de tri et de pagination dans la table récapitulative commandes provoquent également des mises à jour partielles.

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
        SqlDataSource2.SelectParameters["OrderID"].DefaultValue = 
            GridView1.SelectedDataKey.Value.ToString();
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>UpdatePanel Example</title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1"
                               runat="server" />
            <asp:UpdatePanel ID="OrdersPanel"
                             UpdateMode="Conditional"
                             runat="server">
                <ContentTemplate>
                    <asp:GridView ID="GridView1" 
                                  AllowPaging="True"
                                  AllowSorting="True"
                                  Caption="Orders"
                                  DataKeyNames="OrderID"
                                  DataSourceID="SqlDataSource1"
                                  OnSelectedIndexChanged="GridView1_SelectedIndexChanged"
                                  runat="server" >
                    <Columns>
                    <asp:CommandField ShowSelectButton="True"></asp:CommandField>
                    </Columns>
                    </asp:GridView>
                    <asp:SqlDataSource ID="SqlDataSource1"
                                       runat="server"
                                       ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
                                       SelectCommand="SELECT [OrderID], [CustomerID], [EmployeeID], [OrderDate] FROM [Orders]">
                    </asp:SqlDataSource>
                </ContentTemplate>
            </asp:UpdatePanel>
            <asp:UpdatePanel ID="OrderDetailsPanel"
                             UpdateMode="Always"
                             runat="server">
                <ContentTemplate>
                    <asp:DetailsView ID="DetailsView1"
                                     Caption="Order Details"
                                     DataKeyNames="OrderID,ProductID"
                                     DataSourceID="SqlDataSource2"
                                     runat="server">
                        <EmptyDataTemplate>
                        <i>Select a row from the Orders table.</i>
                        </EmptyDataTemplate>
                    </asp:DetailsView>
                    <asp:SqlDataSource ID="SqlDataSource2"
                                       ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
                                       SelectCommand="SELECT [OrderID], [ProductID], [UnitPrice], [Quantity], [Discount] FROM [Order Details] WHERE ([OrderID] = @OrderID)"
                                       runat="server">
                        <SelectParameters>
                            <asp:Parameter Name="OrderID"
                                           Type="Int32" />
                        </SelectParameters>
                    </asp:SqlDataSource>
                </ContentTemplate>
            </asp:UpdatePanel>
        </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
        SqlDataSource2.SelectParameters("OrderID").DefaultValue = _
        GridView1.SelectedDataKey.Value.ToString()
    End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>UpdatePanel Example</title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1"
                               runat="server" />
            <asp:UpdatePanel ID="OrdersPanel"
                             UpdateMode="Conditional"
                             runat="server">
                <ContentTemplate>
                    <asp:GridView ID="GridView1" 
                                  AllowPaging="True"
                                  AllowSorting="True"
                                  Caption="Orders"
                                  DataKeyNames="OrderID"
                                  DataSourceID="SqlDataSource1"
                                  OnSelectedIndexChanged="GridView1_SelectedIndexChanged"
                                  runat="server" >
                    <Columns>
                    <asp:CommandField ShowSelectButton="True"></asp:CommandField>
                    </Columns>
                    </asp:GridView>
                    <asp:SqlDataSource ID="SqlDataSource1"
                                       runat="server"
                                       ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
                                       SelectCommand="SELECT [OrderID], [CustomerID], [EmployeeID], [OrderDate] FROM [Orders]">
                    </asp:SqlDataSource>
                </ContentTemplate>
            </asp:UpdatePanel>
            <asp:UpdatePanel ID="OrderDetailsPanel"
                             UpdateMode="Always"
                             runat="server">
                <ContentTemplate>
                    <asp:DetailsView ID="DetailsView1"
                                     Caption="Order Details"
                                     DataKeyNames="OrderID,ProductID"
                                     DataSourceID="SqlDataSource2"
                                     runat="server">
                        <EmptyDataTemplate>
                        <i>Select a row from the Orders table.</i>
                        </EmptyDataTemplate>
                    </asp:DetailsView>
                    <asp:SqlDataSource ID="SqlDataSource2"
                                       ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
                                       SelectCommand="SELECT [OrderID], [ProductID], [UnitPrice], [Quantity], [Discount] FROM [Order Details] WHERE ([OrderID] = @OrderID)"
                                       runat="server">
                        <SelectParameters>
                            <asp:Parameter Name="OrderID"
                                           Type="Int32" />
                        </SelectParameters>
                    </asp:SqlDataSource>
                </ContentTemplate>
            </asp:UpdatePanel>
        </div>
    </form>
</body>
</html>

Si vous placez un contrôle à l’intérieur d’un GridViewUpdatePanel contrôle, la définition de la GridView propriété du EnableSortingAndPagingCallbacks contrôle n’est true pas prise en charge. Toutefois, étant donné que le UpdatePanel contrôle prend en charge les postbacks asynchrones, tous les postbacks qui modifient le GridView contrôle à l’intérieur d’un UpdatePanel contrôle entraînent le même comportement que les rappels de tri et de pagination.

Utilisation d’un contrôle UpdatePanel dans un modèle

Dans l’exemple suivant, un UpdatePanel contrôle est utilisé dans le modèle d’élément d’un GridView contrôle. UpdatePanel les contrôles de chaque ligne de données sont générés automatiquement. Le contrôle de UpdatePanel chaque ligne contient un Label contrôle pour afficher la quantité de l’élément dans cette ligne et un Button contrôle pour diminuer et augmenter la quantité.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    private void ChangeQuantity(object sender, int delta)
    {
        Label quantityLabel = (Label)((Button)sender).FindControl("QuantityLabel");
        int currentQuantity = Int32.Parse(quantityLabel.Text);
        currentQuantity = Math.Max(0, currentQuantity + delta);
        quantityLabel.Text = currentQuantity.ToString(System.Globalization.CultureInfo.InvariantCulture);
    }

    private void OnDecreaseQuantity(object sender, EventArgs e)
    {
        ChangeQuantity(sender, -1);
    }

    private void OnIncreaseQuantity(object sender, EventArgs e)
    {
        ChangeQuantity(sender, 1);
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        StringBuilder sb = new StringBuilder();
        sb.Append("Beverage order:<br/>");
        foreach (GridViewRow row in GridView1.Rows)
        {
            if (row.RowType == DataControlRowType.DataRow)
            {
                Label quantityLabel = (Label)row.FindControl("QuantityLabel");
                int currentQuantity = Int32.Parse(quantityLabel.Text);
                sb.Append(row.Cells[0].Text + " : " + currentQuantity + "<br/>");
            }
        }
        SummaryLabel.Text = sb.ToString();

    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>UpdatePanel Inside GridView Template Example </title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" 
                               runat="server" />
            <asp:GridView ID="GridView1" 
                          AutoGenerateColumns="False"
                          DataSourceID="SqlDataSource1"
                          runat="server">
                <Columns>
                    <asp:BoundField DataField="ProductName" 
                                    HeaderText="ProductName" />
                    <asp:BoundField DataField="UnitPrice"
                                    HeaderText="UnitPrice" />
                    <asp:TemplateField HeaderText="Quantity">
                        <ItemTemplate>
                            <asp:UpdatePanel ID="QuantityUpdatePanel"
                                             UpdateMode="Conditional"
                                             runat="server" >
                                <ContentTemplate>
                                    <asp:Label ID="QuantityLabel"
                                               Text="0"
                                               runat="server" />
                                    <asp:Button ID="DecreaseQuantity"
                                                Text="-"
                                                OnClick="OnDecreaseQuantity"
                                                runat="server" />
                                    <asp:Button ID="IncreaseQuantity" 
                                                Text="+"
                                                OnClick="OnIncreaseQuantity"
                                                runat="server" />
                                </ContentTemplate>
                            </asp:UpdatePanel>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>            
            <asp:UpdatePanel ID="SummaryUpdatePanel" 
                             UpdateMode="Conditional"
                             runat="server">
                <ContentTemplate>
                    <asp:Button ID="Button1"
                                OnClick="Button1_Click"
                                Text="Get Summary"
                                runat="server" />
                    <br />
                    <asp:Label ID="SummaryLabel"
                               runat="server">
                    </asp:Label>
                </ContentTemplate>
            </asp:UpdatePanel>
            <asp:SqlDataSource ID="SqlDataSource1"
                               ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
                               SelectCommand="SELECT [ProductName], [UnitPrice] FROM 
                               [Alphabetical list of products] WHERE ([CategoryName] 
                               LIKE '%' + @CategoryName + '%')"
                               runat="server">
                <SelectParameters>
                    <asp:Parameter DefaultValue="Beverages"
                                   Name="CategoryName"
                                   Type="String" />
                </SelectParameters>
            </asp:SqlDataSource>
        </div>
    </form>
</body>
</html>

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    Private Sub ChangeQuantity(ByVal Sender As Button, ByVal delta As Integer)
        Dim quantityLabel As Label = CType(Sender.FindControl("QuantityLabel"), Label)
        Dim currentQuantity As Integer = Int32.Parse(quantityLabel.Text)
        currentQuantity = Math.Max(0, currentQuantity + delta)
        quantityLabel.Text = currentQuantity.ToString(System.Globalization.CultureInfo.InvariantCulture)
    End Sub

    Private Sub OnDecreaseQuantity(ByVal Sender As Object, ByVal E As EventArgs)
        ChangeQuantity(Sender, -1)
    End Sub

    Private Sub OnIncreaseQuantity(ByVal Sender As Object, ByVal E As EventArgs)
        ChangeQuantity(Sender, 1)
    End Sub

    Protected Sub Button1_Click(ByVal Sender As Object, ByVal E As EventArgs)
    
        Dim sb As New StringBuilder()
        sb.Append("Beverage order:<br/>")
        For Each row As GridViewRow In GridView1.Rows
        
            If row.RowType = DataControlRowType.DataRow Then
                Dim quantityLabel As Label = CType(row.FindControl("QuantityLabel"), Label)
                Dim currentQuantity As Int32 = Int32.Parse(quantityLabel.Text)
                sb.Append(row.Cells(0).Text + " : " & currentQuantity & "<br/>")
            End If
        Next
        SummaryLabel.Text = sb.ToString()

    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>UpdatePanel Inside GridView Template Example </title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" 
                               runat="server" />
            <asp:GridView ID="GridView1" 
                          AutoGenerateColumns="False"
                          DataSourceID="SqlDataSource1"
                          runat="server">
                <Columns>
                    <asp:BoundField DataField="ProductName" 
                                    HeaderText="ProductName" />
                    <asp:BoundField DataField="UnitPrice"
                                    HeaderText="UnitPrice" />
                    <asp:TemplateField HeaderText="Quantity">
                        <ItemTemplate>
                            <asp:UpdatePanel ID="QuantityUpdatePanel"
                                             runat="server" >
                                <ContentTemplate>
                                    <asp:Label ID="QuantityLabel"
                                               Text="0"
                                               runat="server" />
                                    <asp:Button ID="DecreaseQuantity"
                                                Text="-"
                                                OnClick="OnDecreaseQuantity"
                                                runat="server" />
                                    <asp:Button ID="IncreaseQuantity" 
                                                Text="+"
                                                OnClick="OnIncreaseQuantity"
                                                runat="server" />
                                </ContentTemplate>
                            </asp:UpdatePanel>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>            
            <asp:UpdatePanel ID="SummaryUpdatePanel" 
                             runat="server">
                <ContentTemplate>
                    <asp:Button ID="Button1"
                                OnClick="Button1_Click"
                                Text="Get Summary"
                                runat="server" />
                    <br />
                    <asp:Label ID="SummaryLabel"
                               runat="server">
                    </asp:Label>
                </ContentTemplate>
            </asp:UpdatePanel>
            <asp:SqlDataSource ID="SqlDataSource1"
                               ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
                               SelectCommand="SELECT [ProductName], [UnitPrice] FROM 
                               [Alphabetical list of products] WHERE ([CategoryName] 
                               LIKE '%' + @CategoryName + '%')"
                               runat="server">
                <SelectParameters>
                    <asp:Parameter DefaultValue="Beverages"
                                   Name="CategoryName"
                                   Type="String" />
                </SelectParameters>
            </asp:SqlDataSource>
        </div>
    </form>
</body>
</html>

Remarques

Dans cette rubrique :

Présentation

UpdatePanel les contrôles constituent une partie centrale de la fonctionnalité AJAX dans ASP.NET. Ils sont utilisés avec le contrôle pour activer le ScriptManager rendu de page partielle. Le rendu de pages partielles réduit le besoin de postbacks synchrones et de mises à jour de page complètes lorsque seule une partie de la page doit être mise à jour. Le rendu de page partielle améliore l’expérience utilisateur, car il réduit le scintillement de l’écran qui se produit pendant une publication de page complète et améliore l’interactivité de page web.

Actualisation du contenu UpdatePanel

Lorsque le rendu de page partielle est activé, un contrôle peut effectuer une publication qui met à jour l’intégralité de la page ou une publication asynchrone qui met à jour le contenu d’un ou UpdatePanel plusieurs contrôles. Si un contrôle provoque une publication asynchrone et met à jour un UpdatePanel contrôle dépend des éléments suivants :

  • Si la UpdateMode propriété du UpdatePanel contrôle est définie Alwayssur , le UpdatePanel contenu du contrôle est mis à jour sur chaque publication qui provient de la page. Cela inclut des postbacks asynchrones à partir de contrôles qui se trouvent à l’intérieur d’autres UpdatePanel contrôles et des postbacks à partir de contrôles qui ne sont pas à l’intérieur UpdatePanel des contrôles.

  • Si la UpdateMode propriété est définie Conditionalsur , le UpdatePanel contenu du contrôle est mis à jour dans les circonstances suivantes :

    • Lorsque vous appelez explicitement la Update méthode du UpdatePanel contrôle.

    • Lorsque le UpdatePanel contrôle est imbriqué à l’intérieur d’un autre UpdatePanel contrôle et que le panneau parent est mis à jour.

    • Lorsqu’un postback est dû à un contrôle défini comme déclencheur à l’aide de la Triggers propriété du UpdatePanel contrôle. Dans ce scénario, le contrôle déclenche explicitement une mise à jour du contenu du panneau. Le contrôle peut être à l’intérieur ou à l’extérieur du UpdatePanel contrôle auquel le déclencheur est associé.

    • Lorsque la ChildrenAsTriggers propriété est définie true sur et qu’un contrôle enfant du UpdatePanel contrôle provoque une publication différée. Les contrôles enfants des contrôles imbriqués UpdatePanel n’entraînent pas de mise à jour vers le contrôle externe UpdatePanel , sauf s’ils sont explicitement définis comme déclencheurs.

La combinaison de la définition de la ChildrenAsTriggers propriété sur false et de la UpdateMode propriété à Always n’est pas autorisée et lève une exception.

Lorsque le UpdatePanel contrôle effectue un billet asynchrone, il ajoute un en-tête HTTP personnalisé. Certains proxys suppriment cet en-tête HTTP personnalisé. Si cela se produit, le serveur gère la requête en tant que publication régulière, ce qui provoque une erreur cliente. Pour résoudre ce problème, insérez un champ de formulaire personnalisé lorsque vous effectuez des publications asynchrones. Vérifiez ensuite l’en-tête ou le champ de formulaire personnalisé dans le code du serveur.

Utilisation de UpdatePanel

Vous pouvez utiliser plusieurs UpdatePanel contrôles pour mettre à jour plusieurs régions de page indépendamment. Lorsque la page qui contient un ou plusieurs UpdatePanel contrôles est rendue, tout le contenu de tous les UpdatePanel contrôles est rendu et envoyé au navigateur. Lors des publications asynchrones suivantes, le contenu de chaque UpdatePanel contrôle peut ne pas être mis à jour en fonction des paramètres du panneau et de la logique client ou serveur pour les panneaux individuels.

Vous pouvez également utiliser UpdatePanel des contrôles pour les éléments suivants :

  • Dans les contrôles utilisateur.

  • Sur les pages maîtres et de contenu.

  • Imbriqué à l’intérieur d’autres UpdatePanel contrôles.

  • À l’intérieur de contrôles modèles tels que le ou Repeater les GridView contrôles.

UpdatePanel les contrôles peuvent être ajoutés de manière déclarative ou programmatique.

Vous pouvez ajouter un UpdatePanel contrôle par programmation, mais vous ne pouvez pas ajouter de déclencheurs par programmation. Pour créer un comportement de type déclencheur, vous pouvez inscrire un contrôle sur la page en tant que contrôle de publication asynchrone. Pour ce faire, appelez la RegisterAsyncPostBackControl méthode du ScriptManager contrôle. Vous pouvez ensuite créer un gestionnaire d’événements qui s’exécute en réponse à la publication asynchrone et, dans le gestionnaire, appeler la Update méthode du UpdatePanel contrôle.

Application de styles

Le UpdatePanel contrôle accepte les attributs expando. Cela vous permet de définir une classe CSS pour les éléments HTML rendus par les contrôles. Par exemple, vous pouvez créer le balisage indiqué dans l’exemple suivant :

<asp:UpdatePanel runat="server" class="myStyle">
</asp:UpdatePanel>

Le balisage de l’exemple précédent affiche du code HTML similaire à ce qui suit lorsque la page s’exécute :

<div id="ctl00_MainContent_UpdatePanel1" class="MyStyle">
</div>

Syntaxe déclarative

<asp:UpdatePanel
    ChildrenAsTriggers="True|False"
    EnableTheming="True|False"
    EnableViewState="True|False"
    ID="string"
    OnDataBinding="DataBinding event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnUnload="Unload event handler"
    RenderMode="Block|Inline"
    runat="server"
    SkinID="string"
    UpdateMode="Always|Conditional"
    Visible="True|False"
>
    <ContentTemplate>
        <!-- child controls -->
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger
            ControlID="string"
            EventName="string"
        />
        <asp:PostBackTrigger
            ControlID="string"
        />
    </Triggers>
</asp:UpdatePanel>

Constructeurs

Nom Description
UpdatePanel()

Initialise une nouvelle instance de la classe UpdatePanel.

Propriétés

Nom Description
Adapter

Obtient l’adaptateur spécifique au navigateur pour le contrôle.

(Hérité de Control)
AppRelativeTemplateSourceDirectory

Obtient ou définit le répertoire virtuel relatif à l’application du ou UserControl de l’objet Page qui contient ce contrôle.

(Hérité de Control)
Attributes

Obtient la collection d’attributs css (Cascading Style Sheet) du UpdatePanel contrôle.

BindingContainer

Obtient le contrôle qui contient la liaison de données de ce contrôle.

(Hérité de Control)
ChildControlsCreated

Obtient une valeur qui indique si les contrôles enfants du contrôle serveur ont été créés.

(Hérité de Control)
ChildrenAsTriggers

Obtient ou définit une valeur qui indique si les publications à partir de contrôles enfants immédiats d’une UpdatePanel mise à jour du contenu du panneau sont mises à jour.

ClientID

Obtient l’ID de contrôle pour le balisage HTML généré par ASP.NET.

(Hérité de Control)
ClientIDMode

Obtient ou définit l’algorithme utilisé pour générer la valeur de la ClientID propriété.

(Hérité de Control)
ClientIDSeparator

Obtient une valeur de caractère représentant le caractère séparateur utilisé dans la ClientID propriété.

(Hérité de Control)
ContentTemplate

Obtient ou définit le modèle qui définit le contenu du UpdatePanel contrôle.

ContentTemplateContainer

Obtient un objet de contrôle auquel vous pouvez ajouter par programmation des contrôles enfants.

Context

Obtient l’objet HttpContext associé au contrôle serveur pour la requête Web actuelle.

(Hérité de Control)
Controls

Obtient l’objet ControlCollection qui contient les contrôles enfants du UpdatePanel contrôle.

DataItemContainer

Obtient une référence au conteneur d’affectation de noms si le conteneur d’affectation de IDataItemContainernoms implémente .

(Hérité de Control)
DataKeysContainer

Obtient une référence au conteneur d’affectation de noms si le conteneur d’affectation de IDataKeysControlnoms implémente .

(Hérité de Control)
DesignMode

Obtient une valeur indiquant si un contrôle est utilisé sur une surface de conception.

(Hérité de Control)
EnableTheming

Obtient ou définit une valeur indiquant si les thèmes s’appliquent à ce contrôle.

(Hérité de Control)
EnableViewState

Obtient ou définit une valeur indiquant si le contrôle serveur conserve son état d’affichage et l’état d’affichage des contrôles enfants qu’il contient, au client demandeur.

(Hérité de Control)
Events

Obtient une liste de délégués de gestionnaire d’événements pour le contrôle. Cette propriété est en lecture seule.

(Hérité de Control)
HasChildViewState

Obtient une valeur indiquant si les contrôles enfants du contrôle serveur actuel ont des paramètres d’état d’affichage enregistrés.

(Hérité de Control)
ID

Obtient ou définit l’identificateur programmatique affecté au contrôle serveur.

(Hérité de Control)
IdSeparator

Obtient le caractère utilisé pour séparer les identificateurs de contrôle.

(Hérité de Control)
IsChildControlStateCleared

Obtient une valeur indiquant si les contrôles contenus dans ce contrôle ont un état de contrôle.

(Hérité de Control)
IsInPartialRendering

Obtient une valeur qui indique si le UpdatePanel contrôle est mis à jour à la suite d’une publication asynchrone.

IsTrackingViewState

Obtient une valeur qui indique si le contrôle serveur enregistre les modifications apportées à son état d’affichage.

(Hérité de Control)
IsViewStateEnabled

Obtient une valeur indiquant si l’état d’affichage est activé pour ce contrôle.

(Hérité de Control)
LoadViewStateByID

Obtient une valeur indiquant si le contrôle participe au chargement de son état d’affichage ID au lieu de l’index.

(Hérité de Control)
NamingContainer

Obtient une référence au conteneur d’affectation de noms du contrôle serveur, qui crée un espace de noms unique pour la différenciation entre les contrôles serveur avec la même ID valeur de propriété.

(Hérité de Control)
Page

Obtient une référence à l’instance Page qui contient le contrôle serveur.

(Hérité de Control)
Parent

Obtient une référence au contrôle parent du contrôle serveur dans la hiérarchie des contrôles de page.

(Hérité de Control)
RenderingCompatibility

Obtient une valeur qui spécifie la version ASP.NET avec laquelle le code HTML rendu est compatible.

(Hérité de Control)
RenderMode

Obtient ou définit une valeur qui indique si le contenu d’un UpdatePanel contrôle est placé entre un code HTML <div> ou <span> un élément.

RequiresUpdate

Obtient une valeur qui indique si le contenu du UpdatePanel contrôle sera mis à jour.

Site

Obtient des informations sur le conteneur qui héberge le contrôle actuel lors du rendu sur une surface de conception.

(Hérité de Control)
SkinID

Obtient ou définit la peau à appliquer au contrôle.

(Hérité de Control)
TemplateControl

Obtient ou définit une référence au modèle qui contient ce contrôle.

(Hérité de Control)
TemplateSourceDirectory

Obtient le répertoire virtuel du PageUserControl ou qui contient le contrôle serveur actuel.

(Hérité de Control)
Triggers

Obtient un UpdatePanelTriggerCollection objet qui contient AsyncPostBackTrigger et PostBackTrigger des objets qui ont été inscrits de manière déclarative pour le UpdatePanel contrôle.

UniqueID

Obtient l’identificateur unique qualifié hiérarchiquement pour le contrôle serveur.

(Hérité de Control)
UpdateMode

Obtient ou définit une valeur qui indique quand le contenu d’un UpdatePanel contrôle est mis à jour.

ValidateRequestMode

Obtient ou définit une valeur qui indique si le contrôle vérifie l’entrée du client à partir du navigateur pour obtenir des valeurs potentiellement dangereuses.

(Hérité de Control)
ViewState

Obtient un dictionnaire d’informations d’état qui vous permet d’enregistrer et de restaurer l’état d’affichage d’un contrôle serveur sur plusieurs requêtes pour la même page.

(Hérité de Control)
ViewStateIgnoresCase

Obtient une valeur qui indique si l’objet ne respecte pas la StateBag casse.

(Hérité de Control)
ViewStateMode

Obtient ou définit le mode d’état d’affichage de ce contrôle.

(Hérité de Control)
Visible

Obtient ou définit une valeur qui indique si un contrôle serveur est rendu en tant qu’interface utilisateur sur la page.

(Hérité de Control)

Méthodes

Nom Description
AddedControl(Control, Int32)

Appelé après l’ajout d’un contrôle enfant à la Controls collection de l’objet Control .

(Hérité de Control)
AddParsedSubObject(Object)

Avertit le contrôle serveur qu’un élément, XML ou HTML, a été analysé et ajoute l’élément à l’objet du ControlCollection contrôle serveur.

(Hérité de Control)
ApplyStyleSheetSkin(Page)

Applique les propriétés de style définies dans la feuille de style de page au contrôle.

(Hérité de Control)
BeginRenderTracing(TextWriter, Object)

Commence le suivi au moment du design des données de rendu.

(Hérité de Control)
BuildProfileTree(String, Boolean)

Collecte des informations sur le contrôle serveur et le remet à la Trace propriété à afficher lorsque le suivi est activé pour la page.

(Hérité de Control)
ClearCachedClientID()

Définit la valeur mise en ClientID cache sur null.

(Hérité de Control)
ClearChildControlState()

Supprime les informations d’état du contrôle pour les contrôles enfants du contrôle serveur.

(Hérité de Control)
ClearChildState()

Supprime les informations d’état d’affichage et d’état de contrôle pour tous les contrôles enfants du contrôle serveur.

(Hérité de Control)
ClearChildViewState()

Supprime les informations d’état d’affichage de tous les contrôles enfants du contrôle serveur.

(Hérité de Control)
ClearEffectiveClientIDMode()

Définit la ClientIDMode propriété de l’instance de contrôle actuelle et de tous les contrôles enfants sur Inherit.

(Hérité de Control)
CreateChildControls()

Appelé par l’infrastructure de page ASP.NET pour notifier les contrôles serveur qui utilisent l’implémentation basée sur la composition pour créer les contrôles enfants qu’ils contiennent en préparation de la publication ou du rendu.

(Hérité de Control)
CreateContentTemplateContainer()

Crée un Control objet qui agit en tant que conteneur pour les contrôles enfants qui définissent le UpdatePanel contenu du contrôle.

CreateControlCollection()

Retourne la collection de tous les contrôles contenus dans le UpdatePanel contrôle.

DataBind()

Lie une source de données au contrôle serveur appelé et à tous ses contrôles enfants.

(Hérité de Control)
DataBind(Boolean)

Lie une source de données au contrôle serveur appelé et à tous ses contrôles enfants avec une option pour déclencher l’événement DataBinding .

(Hérité de Control)
DataBindChildren()

Lie une source de données aux contrôles enfants du contrôle serveur.

(Hérité de Control)
Dispose()

Permet à un contrôle de serveur d’effectuer le nettoyage final avant de libérer de la mémoire.

(Hérité de Control)
EndRenderTracing(TextWriter, Object)

Met fin au suivi au moment du design des données de rendu.

(Hérité de Control)
EnsureChildControls()

Détermine si le contrôle serveur contient des contrôles enfants. Si ce n’est pas le cas, il crée des contrôles enfants.

(Hérité de Control)
EnsureID()

Crée un identificateur pour les contrôles qui n’ont pas d’identificateur affecté.

(Hérité de Control)
Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
FindControl(String, Int32)

Recherche dans le conteneur d’affectation de noms actuel un contrôle serveur avec l’entier spécifié id et spécifié dans le pathOffset paramètre, ce qui facilite la recherche. Vous ne devez pas remplacer cette version de la FindControl méthode.

(Hérité de Control)
FindControl(String)

Recherche le conteneur d’affectation de noms actuel pour un contrôle serveur avec le paramètre spécifié id .

(Hérité de Control)
Focus()

Définit le focus d’entrée sur un contrôle.

(Hérité de Control)
GetDesignModeState()

Obtient les données au moment du design pour un contrôle.

(Hérité de Control)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetRouteUrl(Object)

Obtient l’URL qui correspond à un ensemble de paramètres de routage.

(Hérité de Control)
GetRouteUrl(RouteValueDictionary)

Obtient l’URL qui correspond à un ensemble de paramètres de routage.

(Hérité de Control)
GetRouteUrl(String, Object)

Obtient l’URL qui correspond à un ensemble de paramètres d’itinéraire et à un nom d’itinéraire.

(Hérité de Control)
GetRouteUrl(String, RouteValueDictionary)

Obtient l’URL qui correspond à un ensemble de paramètres d’itinéraire et à un nom d’itinéraire.

(Hérité de Control)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
GetUniqueIDRelativeTo(Control)

Retourne la partie préfixée de la UniqueID propriété du contrôle spécifié.

(Hérité de Control)
HasControls()

Détermine si le contrôle serveur contient des contrôles enfants.

(Hérité de Control)
HasEvents()

Retourne une valeur indiquant si les événements sont inscrits pour le contrôle ou les contrôles enfants.

(Hérité de Control)
Initialize()

Initialise la collection de déclencheurs de contrôle si le UpdatePanel rendu de page partielle est activé.

IsLiteralContent()

Détermine si le contrôle serveur contient uniquement du contenu littéral.

(Hérité de Control)
LoadControlState(Object)

Restaure les informations d’état du contrôle à partir d’une demande de page précédente qui a été enregistrée par la SaveControlState() méthode.

(Hérité de Control)
LoadViewState(Object)

Restaure les informations d’état d’affichage à partir d’une demande de page précédente enregistrée par la SaveViewState() méthode.

(Hérité de Control)
MapPathSecure(String)

Récupère le chemin d’accès physique auquel un chemin virtuel, absolu ou relatif, est mappé.

(Hérité de Control)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
OnBubbleEvent(Object, EventArgs)

Détermine si l’événement pour le contrôle serveur est transmis à la hiérarchie de contrôle du serveur d’interface utilisateur de la page.

(Hérité de Control)
OnDataBinding(EventArgs)

Déclenche l’événement DataBinding.

(Hérité de Control)
OnInit(EventArgs)

Déclenche l’événement Init.

OnLoad(EventArgs)

Déclenche l’événement Load pour le UpdatePanel contrôle et appelle la méthode lorsque le Initialize() rendu de page partielle n’est pas activé.

OnPreRender(EventArgs)

Déclenche l’événement PreRender.

OnUnload(EventArgs)

Déclenche l’événement de base Unload .

OpenFile(String)

Obtient un Stream élément utilisé pour lire un fichier.

(Hérité de Control)
RaiseBubbleEvent(Object, EventArgs)

Affecte toutes les sources de l’événement et ses informations au parent du contrôle.

(Hérité de Control)
RemovedControl(Control)

Appelé après la suppression d’un contrôle enfant de la Controls collection de l’objet Control .

(Hérité de Control)
Render(HtmlTextWriter)

Déclenche l’événement Render(HtmlTextWriter).

RenderChildren(HtmlTextWriter)

Déclenche l’événement RenderChildren(HtmlTextWriter).

RenderControl(HtmlTextWriter, ControlAdapter)

Génère le contenu du contrôle serveur sur un objet fourni HtmlTextWriter à l’aide d’un objet fourni ControlAdapter .

(Hérité de Control)
RenderControl(HtmlTextWriter)

Génère le contenu du contrôle serveur dans un objet fourni HtmlTextWriter et stocke les informations de suivi sur le contrôle si le suivi est activé.

(Hérité de Control)
ResolveAdapter()

Obtient l’adaptateur de contrôle responsable du rendu du contrôle spécifié.

(Hérité de Control)
ResolveClientUrl(String)

Obtient une URL qui peut être utilisée par le navigateur.

(Hérité de Control)
ResolveUrl(String)

Convertit une URL en une URL utilisable sur le client demandeur.

(Hérité de Control)
SaveControlState()

Enregistre les modifications d’état de contrôle du serveur qui se sont produites depuis la publication de la page sur le serveur.

(Hérité de Control)
SaveViewState()

Enregistre les modifications de l’état d’affichage du contrôle de serveur qui se sont produites depuis la publication de la page sur le serveur.

(Hérité de Control)
SetDesignModeState(IDictionary)

Définit les données au moment du design pour un contrôle.

(Hérité de Control)
SetRenderMethodDelegate(RenderMethod)

Affecte un délégué de gestionnaire d’événements pour restituer le contrôle serveur et son contenu dans son contrôle parent.

(Hérité de Control)
SetTraceData(Object, Object, Object)

Définit les données de trace pour le suivi au moment du design des données de rendu, à l’aide de l’objet suivi, de la clé de données de trace et de la valeur des données de trace.

(Hérité de Control)
SetTraceData(Object, Object)

Définit les données de trace pour le suivi au moment du design des données de rendu, à l’aide de la clé de données de trace et de la valeur des données de trace.

(Hérité de Control)
ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)
TrackViewState()

Provoque le suivi des modifications d’état d’affichage apportées au contrôle serveur afin qu’ils puissent être stockés dans l’objet du StateBag contrôle serveur. Cet objet est accessible via la ViewState propriété.

(Hérité de Control)
Update()

Provoque une mise à jour du contenu d’un UpdatePanel contrôle.

Événements

Nom Description
DataBinding

Se produit lorsque le contrôle serveur se lie à une source de données.

(Hérité de Control)
Disposed

Se produit lorsqu’un contrôle serveur est libéré de la mémoire, qui est la dernière étape du cycle de vie du contrôle de serveur lorsqu’une page ASP.NET est demandée.

(Hérité de Control)
Init

Se produit lorsque le contrôle serveur est initialisé, qui est la première étape de son cycle de vie.

(Hérité de Control)
Load

Se produit lorsque le contrôle serveur est chargé dans l’objet Page .

(Hérité de Control)
PreRender

Se produit après le chargement de l’objet Control , mais avant le rendu.

(Hérité de Control)
Unload

Se produit lorsque le contrôle serveur est déchargé de la mémoire.

(Hérité de Control)

Implémentations d’interfaces explicites

Nom Description
IAttributeAccessor.GetAttribute(String)

Retourne un attribut d’un contrôle Web à l’aide d’un nom spécifié.

IAttributeAccessor.SetAttribute(String, String)

Définit la valeur de l’attribut de contrôle spécifié.

IControlBuilderAccessor.ControlBuilder

Pour obtenir une description de ce membre, consultez ControlBuilder.

(Hérité de Control)
IControlDesignerAccessor.GetDesignModeState()

Pour obtenir une description de ce membre, consultez GetDesignModeState().

(Hérité de Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

Pour obtenir une description de ce membre, consultez SetDesignModeState(IDictionary).

(Hérité de Control)
IControlDesignerAccessor.SetOwnerControl(Control)

Pour obtenir une description de ce membre, consultez SetOwnerControl(Control).

(Hérité de Control)
IControlDesignerAccessor.UserData

Pour obtenir une description de ce membre, consultez UserData.

(Hérité de Control)
IDataBindingsAccessor.DataBindings

Pour obtenir une description de ce membre, consultez DataBindings.

(Hérité de Control)
IDataBindingsAccessor.HasDataBindings

Pour obtenir une description de ce membre, consultez HasDataBindings.

(Hérité de Control)
IExpressionsAccessor.Expressions

Pour obtenir une description de ce membre, consultez Expressions.

(Hérité de Control)
IExpressionsAccessor.HasExpressions

Pour obtenir une description de ce membre, consultez HasExpressions.

(Hérité de Control)
IParserAccessor.AddParsedSubObject(Object)

Pour obtenir une description de ce membre, consultez AddParsedSubObject(Object).

(Hérité de Control)

Méthodes d’extension

Nom Description
FindDataSourceControl(Control)

Retourne la source de données associée au contrôle de données pour le contrôle spécifié.

FindFieldTemplate(Control, String)

Retourne le modèle de champ de la colonne spécifiée dans le conteneur d’affectation de noms du contrôle spécifié.

FindMetaTable(Control)

Retourne l’objet métatable pour le contrôle de données contenant.

S’applique à

Voir aussi