UpdatePanel Třída

Definice

Umožňuje částečně vykreslit oddíly stránky bez zpětného odeslání.

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
Dědičnost
UpdatePanel
Atributy
Implementuje

Příklady

Následující příklady ukazují různá UpdatePanel použití ovládacího prvku.

Ovládací prvky uvnitř ovládacího prvku UpdatePanel

Následující příklad ukazuje, jak umístit ovládací prvky do UpdatePanel ovládacího prvku, aby se omezilo blikání obrazovky při publikování na server. V tomto příkladu CalendarDropDownList jsou ovládací prvek a uvnitř ovládacího prvku UpdatePanel . Ve výchozím nastavení UpdateMode je vlastnost a ChildrenAsTriggers vlastnost je trueAlways . Proto podřízené ovládací prvky panelu způsobují asynchronní postback.


<%@ 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énář master/detailu s ovládacími prvky UpdatePanel

V následujícím příkladu UpdatePanel se ovládací prvek používá ve scénáři hlavního/podrobného zobrazení, který zobrazuje objednávky a podrobnosti objednávek z databáze Northwind. Jeden UpdatePanel ovládací prvek obsahuje ovládací prvek GridView , který zobrazuje seznam objednávek. Druhý UpdatePanel ovládací prvek obsahuje ovládací prvek DetailsView , který zobrazuje podrobnosti o jedné objednávce. Když vyberete objednávku z první tabulky, zobrazí se podrobnosti o této objednávce v druhé tabulce. Druhá tabulka se aktualizuje asynchronně na základě výběru v první tabulce. Operace řazení a stránkování v souhrnné tabulce objednávek také způsobují částečné aktualizace.

<%@ 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>

Pokud vložíte GridView ovládací prvek do ovládacího UpdatePanel prvku, nastavení GridView vlastnosti ovládacího prvku EnableSortingAndPagingCallbacks na true hodnotu není podporováno. Vzhledem k UpdatePanel tomu, že ovládací prvek podporuje asynchronní zpětná volání, způsobí všechna zpětná volání, která mění GridView ovládací prvek uvnitř UpdatePanel ovládacího prvku, stejné chování jako řazení a stránkování zpětných volání.

Použití ovládacího prvku UpdatePanel v šabloně

V následujícím příkladu se ovládací prvek UpdatePanel používá v šabloně GridView položky ovládacího prvku. UpdatePanel ovládací prvky v každém řádku dat se vygenerují automaticky. Ovládací prvek každého řádku UpdatePanel obsahuje Label ovládací prvek pro zobrazení množství položky v daném řádku a Button ovládací prvek pro snížení a zvýšení množství.


<%@ 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>

Poznámky

V tomto tématu:

Úvod

UpdatePanel ovládací prvky jsou centrální součástí funkcí AJAX v ASP.NET. Používají se s ovládacím ScriptManager prvku k povolení vykreslování částečných stránek. Vykreslování částečných stránek snižuje potřebu synchronních zpětných a úplných aktualizací stránky, když je potřeba aktualizovat jenom část stránky. Vykreslování s částečnou stránkou zlepšuje uživatelské prostředí, protože snižuje blikání obrazovky, ke kterému dochází při zpětném odeslání na celou stránku, a zlepšuje interaktivitu webové stránky.

Obnovení obsahu UpdatePanel

Pokud je povoleno vykreslování částečných stránek, může ovládací prvek provést postback, který aktualizuje celou stránku, nebo asynchronní postback, který aktualizuje obsah jednoho nebo více UpdatePanel ovládacích prvků. To, jestli ovládací prvek způsobí asynchronní postback a aktualizuje ovládací prvek UpdatePanel , závisí na následujícím:

  • UpdateMode Pokud je vlastnost UpdatePanel ovládacího prvku nastavena na Always, UpdatePanel obsah ovládacího prvku se aktualizuje při každém zpětném odeslání, které pochází ze stránky. To zahrnuje asynchronní zpětná data z ovládacích prvků, které jsou uvnitř jiných UpdatePanel ovládacích prvků, a zpětná zpět z ovládacích prvků, které nejsou uvnitř UpdatePanel ovládacích prvků.

  • UpdateMode Pokud je vlastnost nastavená UpdatePanel na Conditional, obsah ovládacího prvku se aktualizuje za následujících okolností:

    • Při volání Update metody UpdatePanel ovládacího prvku explicitně.

    • Když je ovládací prvek vnořený UpdatePanel do jiného UpdatePanel ovládacího prvku a nadřazený panel se aktualizuje.

    • Když je postback způsoben ovládacím prvku, který je definován jako trigger pomocí Triggers vlastnosti UpdatePanel ovládacího prvku. V tomto scénáři ovládací prvek explicitně aktivuje aktualizaci obsahu panelu. Ovládací prvek může být uvnitř nebo vně UpdatePanel ovládacího prvku, ke kterému je trigger přidružený.

    • ChildrenAsTriggers Když je vlastnost nastavena na true a podřízený ovládací prvek UpdatePanel ovládacího prvku způsobí postback. Podřízené ovládací prvky vnořených UpdatePanel ovládacích prvků nezpůsobí aktualizaci vnějšího UpdatePanel ovládacího prvku, pokud nejsou explicitně definovány jako triggery.

Kombinace nastavení ChildrenAsTriggers vlastnosti a vlastnosti na falseUpdateModeAlways není povolena a vyvolá výjimku.

UpdatePanel Když ovládací prvek provede asynchronní příspěvek, přidá vlastní hlavičku HTTP. Některé proxy servery tuto vlastní hlavičku HTTP odeberou. Pokud k tomu dojde, server zpracuje požadavek jako běžný postback, což způsobí chybu klienta. Chcete-li tento problém vyřešit, vložte vlastní pole formuláře při provádění asynchronních příspěvků. Pak zkontrolujte záhlaví nebo pole vlastního formuláře v kódu serveru.

Použití UpdatePanel

K aktualizaci více oblastí stránky můžete použít více UpdatePanel ovládacích prvků nezávisle na sobě. Při prvním vykreslení stránky, která obsahuje jeden nebo více UpdatePanel ovládacích prvků, se veškerý obsah všech UpdatePanel ovládacích prvků vykreslí a odešle do prohlížeče. Při následných asynchronních zpětných operacích nemusí být obsah jednotlivých UpdatePanel ovládacích prvků aktualizován v závislosti na nastavení panelu a na logice klienta nebo serveru pro jednotlivé panely.

Ovládací prvky můžete použít UpdatePanel také k následujícímu:

  • V uživatelských ovládacích prvcích.

  • Na stránkách předlohy a obsahu.

  • Vnořené do jiných UpdatePanel ovládacích prvků.

  • Uvnitř ovládacích prvků šablon, jako GridView jsou ovládací prvky nebo Repeater .

UpdatePanel ovládací prvky lze přidat deklarativně nebo programově.

Ovládací prvek můžete přidat UpdatePanel programově, ale nemůžete přidávat triggery programově. Pokud chcete vytvořit chování podobné triggeru, můžete na stránce zaregistrovat ovládací prvek jako asynchronní ovládací prvek zpětného odeslání. Provedete to voláním RegisterAsyncPostBackControl metody ScriptManager ovládacího prvku . Pak můžete vytvořit obslužnou rutinu události, která se spustí v reakci na asynchronní postback a v obslužné rutině volat Update metodu UpdatePanel ovládacího prvku.

Aplikování stylů

Ovládací UpdatePanel prvek přijímá atributy expando. To vám umožní nastavit třídu CSS pro elementy HTML, které ovládací prvky vykreslují. Můžete například vytvořit kód zobrazený v následujícím příkladu:

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

Kód v předchozím příkladu vykresluje kód HTML podobně jako následující při spuštění stránky:

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

Deklarativní syntaxe

<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>  

Konstruktory

UpdatePanel()

Inicializuje novou instanci UpdatePanel třídy.

Vlastnosti

Adapter

Získá adaptér specifické pro prohlížeč pro ovládací prvek.

(Zděděno od Control)
AppRelativeTemplateSourceDirectory

Získá nebo nastaví aplikaci relativní virtuální adresář nebo UserControl objektuPage, který obsahuje tento ovládací prvek.

(Zděděno od Control)
Attributes

Získá kaskádové šablony stylů (CSS) atributy kolekce UpdatePanel ovládacího prvku.

BindingContainer

Získá ovládací prvek, který obsahuje datové vazby tohoto ovládacího prvku.

(Zděděno od Control)
ChildControlsCreated

Získá hodnotu, která označuje, zda byly vytvořeny podřízené ovládací prvky serverového ovládacího prvku.

(Zděděno od Control)
ChildrenAsTriggers

Získá nebo nastaví hodnotu, která označuje, zda postbacky z okamžitých podřízených ovládacích prvků ovládacího prvku UpdatePanel aktualizovat obsah panelu.

ClientID

Získá ID ovládacího prvku pro kód HTML, který je generován ASP.NET.

(Zděděno od Control)
ClientIDMode

Získá nebo nastaví algoritmus, který se používá k vygenerování hodnoty ClientID vlastnosti.

(Zděděno od Control)
ClientIDSeparator

Získá hodnotu znaku představující znak oddělovače použitý ve ClientID vlastnosti .

(Zděděno od Control)
ContentTemplate

Získá nebo nastaví šablonu, která definuje obsah UpdatePanel ovládacího prvku.

ContentTemplateContainer

Získá objekt ovládacího prvku, do kterého můžete programově přidat podřízené ovládací prvky.

Context

HttpContext Získá objekt přidružený k ovládacímu prvku serveru pro aktuální webový požadavek.

(Zděděno od Control)
Controls

ControlCollection Získá objekt, který obsahuje podřízené ovládací prvky UpdatePanel ovládacího prvku.

DataItemContainer

Získá odkaz na názvový kontejner, pokud názvový kontejner implementuje IDataItemContainer.

(Zděděno od Control)
DataKeysContainer

Získá odkaz na názvový kontejner, pokud názvový kontejner implementuje IDataKeysControl.

(Zděděno od Control)
DesignMode

Získá hodnotu označující, zda je ovládací prvek použit na návrhové ploše.

(Zděděno od Control)
EnableTheming

Získá nebo nastaví hodnotu označující, zda motivy použít pro tento ovládací prvek.

(Zděděno od Control)
EnableViewState

Získá nebo nastaví hodnotu označující, zda serverový ovládací prvek zachová svůj stav zobrazení a stav zobrazení všech podřízených ovládacích prvků, které obsahuje, do žádajícího klienta.

(Zděděno od Control)
Events

Získá seznam delegátů obslužné rutiny události pro ovládací prvek. Tato vlastnost je jen ke čtení.

(Zděděno od Control)
HasChildViewState

Získá hodnotu označující, zda podřízené ovládací prvky aktuálního serveru mají nějaké uložené nastavení stavu zobrazení.

(Zděděno od Control)
ID

Získá nebo nastaví programový identifikátor přiřazený k ovládacímu prvku serveru.

(Zděděno od Control)
IdSeparator

Získá znak použitý k oddělení identifikátorů ovládacích prvků.

(Zděděno od Control)
IsChildControlStateCleared

Získá hodnotu označující, zda ovládací prvky obsažené v tomto ovládacím prvku mají stav řízení.

(Zděděno od Control)
IsInPartialRendering

Získá hodnotu, která označuje, zda UpdatePanel ovládací prvek je aktualizován v důsledku asynchronní postback.

IsTrackingViewState

Získá hodnotu, která označuje, zda serverový ovládací prvek ukládá změny do stavu zobrazení.

(Zděděno od Control)
IsViewStateEnabled

Získá hodnotu označující, zda je stav zobrazení povolen pro tento ovládací prvek.

(Zděděno od Control)
LoadViewStateByID

Získá hodnotu označující, zda se ovládací prvek účastní načítání stavu zobrazení namísto ID indexu.

(Zděděno od Control)
NamingContainer

Získá odkaz na názvový kontejner serverového ovládacího prvku, který vytvoří jedinečný obor názvů pro odlizení mezi ovládacími prvky serveru se stejnou ID hodnotou vlastnosti.

(Zděděno od Control)
Page

Získá odkaz na Page instanci, která obsahuje serverový ovládací prvek.

(Zděděno od Control)
Parent

Získá odkaz na nadřazený ovládací prvek serveru v hierarchii ovládacích prvků stránky.

(Zděděno od Control)
RenderingCompatibility

Získá hodnotu, která určuje ASP.NET verze, která vykreslovala HTML bude kompatibilní s.

(Zděděno od Control)
RenderMode

Získá nebo nastaví hodnotu, která označuje, zda UpdatePanel je obsah ovládacího prvku uzavřen v HTML <div> nebo <span> elementu.

RequiresUpdate

Získá hodnotu, která označuje, zda obsah UpdatePanel ovládacího prvku bude aktualizován.

Site

Získá informace o kontejneru, který je hostitelem aktuálního ovládacího prvku při vykreslení na návrhové ploše.

(Zděděno od Control)
SkinID

Získá nebo nastaví vzhled pro použití ovládacího prvku.

(Zděděno od Control)
TemplateControl

Získá nebo nastaví odkaz na šablonu, která obsahuje tento ovládací prvek.

(Zděděno od Control)
TemplateSourceDirectory

Získá virtuální adresář Page nebo UserControl , který obsahuje aktuální server ovládací prvek.

(Zděděno od Control)
Triggers

Získá UpdatePanelTriggerCollection objekt, který obsahuje AsyncPostBackTrigger a PostBackTrigger objekty, které byly zaregistrovány deklarativně pro ovládací prvek UpdatePanel .

UniqueID

Získá jedinečný hierarchicky kvalifikovaný identifikátor serverového ovládacího prvku.

(Zděděno od Control)
UpdateMode

Získá nebo nastaví hodnotu, která označuje, kdy UpdatePanel je aktualizován obsah ovládacího prvku.

ValidateRequestMode

Získá nebo nastaví hodnotu, která označuje, zda ovládací prvek kontroluje vstup klienta z prohlížeče pro potenciálně nebezpečné hodnoty.

(Zděděno od Control)
ViewState

Získá slovník informací o stavu, který umožňuje uložit a obnovit stav zobrazení serverového ovládacího prvku napříč několika požadavky na stejnou stránku.

(Zděděno od Control)
ViewStateIgnoresCase

Získá hodnotu, která označuje, zda StateBag objekt nerozlišuje velká a malá písmena.

(Zděděno od Control)
ViewStateMode

Získá nebo nastaví režim zobrazení stavu tohoto ovládacího prvku.

(Zděděno od Control)
Visible

Získá nebo nastaví hodnotu, která označuje, zda serverový ovládací prvek je vykreslen jako uživatelské rozhraní na stránce.

(Zděděno od Control)

Metody

AddedControl(Control, Int32)

Volá se po přidání podřízeného ovládacího prvku do Controls kolekce objektu Control .

(Zděděno od Control)
AddParsedSubObject(Object)

Upozorní ovládací prvek serveru, že byl analyzován element XML nebo HTML, a přidá element do objektu serverového ControlCollection ovládacího prvku.

(Zděděno od Control)
ApplyStyleSheetSkin(Page)

Použije na ovládací prvek vlastnosti stylu definované v šabloně stylů stránky.

(Zděděno od Control)
BeginRenderTracing(TextWriter, Object)

Začíná trasování vykreslovaných dat v době návrhu.

(Zděděno od Control)
BuildProfileTree(String, Boolean)

Shromáždí informace o serverovém ovládacím prvku a předá je vlastnosti Trace , která se má zobrazit, když je pro stránku povoleno trasování.

(Zděděno od Control)
ClearCachedClientID()

Nastaví hodnotu v ClientID mezipaměti na null.

(Zděděno od Control)
ClearChildControlState()

Odstraní informace o stavu ovládacího prvku pro podřízené ovládací prvky serveru.

(Zděděno od Control)
ClearChildState()

Odstraní informace o stavu zobrazení a stavu řízení pro všechny podřízené ovládací prvky serveru.

(Zděděno od Control)
ClearChildViewState()

Odstraní informace o stavu zobrazení pro všechny podřízené ovládací prvky serveru.

(Zděděno od Control)
ClearEffectiveClientIDMode()

ClientIDMode Nastaví vlastnost instance aktuálního ovládacího prvku a všech podřízených ovládacích prvků na Inherit.

(Zděděno od Control)
CreateChildControls()

Volána rozhraním ASP.NET stránky k upozornění serverových ovládacích prvků, které používají implementaci založenou na složení k vytvoření všech podřízených ovládacích prvků, které obsahují při přípravě na zaúčtování zpět nebo vykreslení.

(Zděděno od Control)
CreateContentTemplateContainer()

Vytvoří Control objekt, který funguje jako kontejner pro podřízené ovládací prvky, které definují UpdatePanel obsah ovládacího prvku.

CreateControlCollection()

Vrátí kolekci všech ovládacích prvků obsažených v ovládacím UpdatePanel prvku.

DataBind()

Vytvoří vazbu zdroje dat na vyvolaný serverový ovládací prvek a všechny jeho podřízené ovládací prvky.

(Zděděno od Control)
DataBind(Boolean)

Vytvoří vazbu zdroje dat na vyvolaný ovládací prvek serveru a všechny jeho podřízené ovládací prvky s možností vyvolat DataBinding událost.

(Zděděno od Control)
DataBindChildren()

Vytvoří vazbu zdroje dat na podřízené ovládací prvky serveru.

(Zděděno od Control)
Dispose()

Umožňuje ovládacímu prvku serveru provést konečné vyčištění před uvolněním z paměti.

(Zděděno od Control)
EndRenderTracing(TextWriter, Object)

Ukončí trasování doby návrhu vykreslovaných dat.

(Zděděno od Control)
EnsureChildControls()

Určuje, zda serverový ovládací prvek obsahuje podřízené ovládací prvky. Pokud ne, vytvoří podřízené ovládací prvky.

(Zděděno od Control)
EnsureID()

Vytvoří identifikátor pro ovládací prvky, které nemají přiřazený identifikátor.

(Zděděno od Control)
Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
FindControl(String)

Vyhledá v aktuálním názvovém kontejneru serverový ovládací prvek se zadaným id parametrem.

(Zděděno od Control)
FindControl(String, Int32)

Vyhledá v aktuálním kontejneru pojmenování serverový ovládací prvek se zadaným id a celočíselným číslem zadaným v parametru pathOffset , což pomáhá při hledání. Tuto verzi metody byste neměli FindControl přepsat.

(Zděděno od Control)
Focus()

Nastaví fokus vstupu na ovládací prvek.

(Zděděno od Control)
GetDesignModeState()

Získá data v době návrhu pro ovládací prvek.

(Zděděno od Control)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetRouteUrl(Object)

Získá adresu URL, která odpovídá sadě parametrů trasy.

(Zděděno od Control)
GetRouteUrl(RouteValueDictionary)

Získá adresu URL, která odpovídá sadě parametrů trasy.

(Zděděno od Control)
GetRouteUrl(String, Object)

Získá adresu URL, která odpovídá sadě parametrů trasy a název trasy.

(Zděděno od Control)
GetRouteUrl(String, RouteValueDictionary)

Získá adresu URL, která odpovídá sadě parametrů trasy a název trasy.

(Zděděno od Control)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
GetUniqueIDRelativeTo(Control)

Vrátí část UniqueID vlastnosti zadaného ovládacího prvku s předponou.

(Zděděno od Control)
HasControls()

Určuje, zda serverový ovládací prvek obsahuje nějaké podřízené ovládací prvky.

(Zděděno od Control)
HasEvents()

Vrátí hodnotu označující, zda jsou události registrovány pro ovládací prvek nebo jakékoli podřízené ovládací prvky.

(Zděděno od Control)
Initialize()

Inicializuje kolekci UpdatePanel aktivačních událostí ovládacího prvku, pokud je povoleno vykreslování částečné stránky.

IsLiteralContent()

Určuje, zda serverový ovládací prvek obsahuje pouze obsah literálu.

(Zděděno od Control)
LoadControlState(Object)

Obnoví informace o stavu řízení z předchozího požadavku stránky, který byl uložen metodou SaveControlState() .

(Zděděno od Control)
LoadViewState(Object)

Obnoví informace o stavu zobrazení z předchozího požadavku stránky, který byl uložen metodou SaveViewState() .

(Zděděno od Control)
MapPathSecure(String)

Načte fyzickou cestu, na kterou se mapuje virtuální cesta, absolutní nebo relativní.

(Zděděno od Control)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
OnBubbleEvent(Object, EventArgs)

Určuje, zda je událost serverového ovládacího prvku předána hierarchii serveru uživatelského rozhraní stránky.

(Zděděno od Control)
OnDataBinding(EventArgs)

DataBinding Vyvolá událost.

(Zděděno od Control)
OnInit(EventArgs)

Init Vyvolá událost.

OnLoad(EventArgs)

Load Vyvolá událost UpdatePanel ovládacího prvku a vyvolá metodu, Initialize() pokud není povoleno vykreslování částečné stránky.

OnPreRender(EventArgs)

PreRender Vyvolá událost.

OnUnload(EventArgs)

Vyvolá základní Unload událost.

OpenFile(String)

Stream Získá používá ke čtení souboru.

(Zděděno od Control)
RaiseBubbleEvent(Object, EventArgs)

Přiřadí všechny zdroje události a její informace nadřazené ovládacímu prvku.

(Zděděno od Control)
RemovedControl(Control)

Volá se po odebrání podřízeného ovládacího prvku z Controls kolekce objektu Control .

(Zděděno od Control)
Render(HtmlTextWriter)

Render(HtmlTextWriter) Vyvolá událost.

RenderChildren(HtmlTextWriter)

RenderChildren(HtmlTextWriter) Vyvolá událost.

RenderControl(HtmlTextWriter)

Vypíše obsah ovládacího prvku serveru do zadaného HtmlTextWriter objektu a uloží informace o trasování ovládacího prvku, pokud je trasování povoleno.

(Zděděno od Control)
RenderControl(HtmlTextWriter, ControlAdapter)

Vypíše obsah řízení serveru do zadaného HtmlTextWriter objektu pomocí zadaného ControlAdapter objektu.

(Zděděno od Control)
ResolveAdapter()

Získá adaptér ovládacího prvku zodpovědný za vykreslení zadaného ovládacího prvku.

(Zděděno od Control)
ResolveClientUrl(String)

Získá adresu URL, kterou lze použít v prohlížeči.

(Zděděno od Control)
ResolveUrl(String)

Převede adresu URL na adresu URL, která je použitelná v žádajícím klientovi.

(Zděděno od Control)
SaveControlState()

Uloží všechny změny stavu ovládacích prvků serveru, ke kterým došlo od okamžiku, kdy byla stránka odeslána zpět na server.

(Zděděno od Control)
SaveViewState()

Uloží všechny změny stavu zobrazení ovládacích prvků serveru, ke kterým došlo od okamžiku, kdy byla stránka odeslána zpět na server.

(Zděděno od Control)
SetDesignModeState(IDictionary)

Nastaví data v době návrhu ovládacího prvku.

(Zděděno od Control)
SetRenderMethodDelegate(RenderMethod)

Přiřadí delegáta obslužné rutiny události pro vykreslení serverového ovládacího prvku a jeho obsahu do nadřazeného ovládacího prvku.

(Zděděno od Control)
SetTraceData(Object, Object)

Nastaví trasovací data pro trasování vykreslovaných dat v době návrhu pomocí datového klíče trasování a hodnoty dat trasování.

(Zděděno od Control)
SetTraceData(Object, Object, Object)

Nastaví trasovací data pro trasování vykreslovaných dat v době návrhu pomocí trasovaného objektu, datového klíče trasování a hodnoty dat trasování.

(Zděděno od Control)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
TrackViewState()

Způsobí sledování změn stavu zobrazení serverového ovládacího prvku, aby mohly být uloženy v objektu ovládacího prvku StateBag serveru. Tento objekt je přístupný prostřednictvím ViewState vlastnosti.

(Zděděno od Control)
Update()

Způsobí aktualizaci obsahu ovládacího prvku UpdatePanel .

Událost

DataBinding

Vyvolá se při vytvoření vazby serverového ovládacího prvku na zdroj dat.

(Zděděno od Control)
Disposed

Vyvolá se při uvolnění serverového ovládacího prvku z paměti, což je poslední fáze životního cyklu řízení serveru, když je požadována ASP.NET stránka.

(Zděděno od Control)
Init

Vyvolá se při inicializaci serverového ovládacího prvku, což je první krok v jeho životním cyklu.

(Zděděno od Control)
Load

Vyvolá se při načtení serverového ovládacího prvku do objektu Page .

(Zděděno od Control)
PreRender

Vyvolá se po načtení objektu Control , ale před vykreslením.

(Zděděno od Control)
Unload

Nastane při uvolnění serverového ovládacího prvku z paměti.

(Zděděno od Control)

Explicitní implementace rozhraní

IAttributeAccessor.GetAttribute(String)

Vrátí atribut webového ovládacího prvku pomocí zadaného názvu.

IAttributeAccessor.SetAttribute(String, String)

Nastaví hodnotu zadaného atributu ovládacího prvku.

IControlBuilderAccessor.ControlBuilder

Popis tohoto člena najdete v tématu ControlBuilder.

(Zděděno od Control)
IControlDesignerAccessor.GetDesignModeState()

Popis tohoto člena najdete v tématu GetDesignModeState().

(Zděděno od Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

Popis tohoto člena najdete v tématu SetDesignModeState(IDictionary).

(Zděděno od Control)
IControlDesignerAccessor.SetOwnerControl(Control)

Popis tohoto člena najdete v tématu SetOwnerControl(Control).

(Zděděno od Control)
IControlDesignerAccessor.UserData

Popis tohoto člena najdete v tématu UserData.

(Zděděno od Control)
IDataBindingsAccessor.DataBindings

Popis tohoto člena najdete v tématu DataBindings.

(Zděděno od Control)
IDataBindingsAccessor.HasDataBindings

Popis tohoto člena najdete v tématu HasDataBindings.

(Zděděno od Control)
IExpressionsAccessor.Expressions

Popis tohoto člena najdete v tématu Expressions.

(Zděděno od Control)
IExpressionsAccessor.HasExpressions

Popis tohoto člena najdete v tématu HasExpressions.

(Zděděno od Control)
IParserAccessor.AddParsedSubObject(Object)

Popis tohoto člena najdete v tématu AddParsedSubObject(Object).

(Zděděno od Control)

Metody rozšíření

FindDataSourceControl(Control)

Vrátí zdroj dat přidružený k ovládacímu prvku dat pro zadaný ovládací prvek.

FindFieldTemplate(Control, String)

Vrátí šablonu pole pro zadaný sloupec v kontejneru názvů zadaného ovládacího prvku.

FindMetaTable(Control)

Vrátí objekt metatable pro ovládací prvek obsahující data.

Platí pro

Viz také