Share via


UpdatePanel Kelas

Definisi

Memungkinkan bagian halaman dirender sebagian tanpa postback.

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
Warisan
UpdatePanel
Atribut
Penerapan

Contoh

Contoh berikut menunjukkan berbagai penggunaan UpdatePanel kontrol.

Kontrol Di Dalam Kontrol UpdatePanel

Contoh berikut menunjukkan cara menempatkan kontrol di dalam UpdatePanel kontrol untuk mengurangi kedipan layar saat Anda memposting ke server. Dalam contoh ini, dan CalendarDropDownList kontrol berada di dalam UpdatePanel kontrol. Secara default, UpdateMode properti adalah Always dan ChildrenAsTriggers propertinya adalah true. Oleh karena itu, kontrol anak dari panel menyebabkan postback asinkron.


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

Skenario Master/Detail dengan Kontrol UpdatePanel

Dalam contoh berikut, UpdatePanel kontrol digunakan dalam skenario master/detail yang memperlihatkan pesanan dan detail pesanan dari database Northwind. Satu UpdatePanel kontrol berisi GridView kontrol yang menampilkan daftar pesanan. Kontrol kedua UpdatePanel berisi DetailsView kontrol yang menampilkan detail satu pesanan. Saat Anda memilih pesanan dari tabel pertama, detail untuk pesanan tersebut ditampilkan di tabel kedua. Tabel kedua diperbarui secara asinkron berdasarkan pilihan dalam tabel pertama. Operasi pengurutan dan penomoran dalam tabel ringkasan pesanan juga menyebabkan pembaruan parsial.

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

Jika Anda meletakkan GridView kontrol di dalam UpdatePanel kontrol, mengatur properti kontrol EnableSortingAndPagingCallbacks ke GridViewtrue tidak didukung. Namun, karena UpdatePanel kontrol mendukung postback asinkron, postback apa pun yang mengubah GridView kontrol di dalam UpdatePanel kontrol menyebabkan perilaku yang sama seperti pengurutan dan penomoran panggilan balik.

Menggunakan Kontrol UpdatePanel dalam Templat

Dalam contoh berikut, UpdatePanel kontrol digunakan dalam templat GridView item kontrol. UpdatePanel kontrol di setiap baris data dihasilkan secara otomatis. Setiap kontrol baris UpdatePanel berisi Label kontrol untuk menampilkan kuantitas item dalam baris tersebut dan Button kontrol untuk mengurangi dan meningkatkan kuantitas.


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

Keterangan

Dalam topik ini:

Pengantar

UpdatePanel kontrol adalah bagian terpusat dari fungsionalitas AJAX dalam ASP.NET. Mereka digunakan dengan ScriptManager kontrol untuk mengaktifkan penyajian halaman parsial. Penyajian sebagian halaman mengurangi kebutuhan akan postback sinkron dan pembaruan halaman lengkap ketika hanya sebagian halaman yang harus diperbarui. Penyajian sebagian halaman meningkatkan pengalaman pengguna karena mengurangi kedipan layar yang terjadi selama postback halaman penuh dan meningkatkan interaktivitas halaman Web.

Menyegarkan Konten UpdatePanel

Saat penyajian sebagian halaman diaktifkan, kontrol dapat melakukan postback yang memperbarui seluruh halaman atau postback asinkron yang memperbarui konten satu atau beberapa UpdatePanel kontrol. Apakah kontrol menyebabkan postback asinkron dan memperbarui UpdatePanel kontrol tergantung pada hal berikut:

  • UpdateMode Jika properti UpdatePanel kontrol diatur ke Always, UpdatePanel konten kontrol diperbarui pada setiap postback yang berasal dari halaman. Ini termasuk postback asinkron dari kontrol yang berada di dalam kontrol lain UpdatePanel dan postback dari kontrol yang tidak berada di dalam UpdatePanel kontrol.

  • UpdateMode Jika properti diatur ke Conditional, UpdatePanel konten kontrol diperbarui dalam keadaan berikut:

    • Ketika Anda memanggil Update metode UpdatePanel kontrol secara eksplisit.

    • UpdatePanel Ketika kontrol ditumpuk di dalam kontrol lainUpdatePanel, dan panel induk diperbarui.

    • Ketika postback disebabkan oleh kontrol yang didefinisikan sebagai pemicu dengan menggunakan Triggers properti UpdatePanel kontrol. Dalam skenario ini, kontrol secara eksplisit memicu pembaruan konten panel. Kontrol dapat berada di dalam atau di luar UpdatePanel kontrol yang terkait dengan pemicu.

    • ChildrenAsTriggers Ketika properti diatur ke true dan kontrol turunan UpdatePanel kontrol menyebabkan postback. Kontrol anak dari kontrol berlapis UpdatePanel tidak menyebabkan pembaruan ke kontrol luar UpdatePanel kecuali secara eksplisit didefinisikan sebagai pemicu.

Kombinasi pengaturan properti ke ChildrenAsTriggersfalse dan UpdateMode properti ke Always tidak diizinkan dan akan melemparkan pengecualian.

UpdatePanel Ketika kontrol melakukan posting asinkron, kontrol menambahkan header HTTP kustom. Beberapa proksi menghapus header HTTP kustom ini. Jika ini terjadi, server menangani permintaan sebagai postback reguler, yang menyebabkan kesalahan klien. Untuk mengatasi masalah ini, sisipkan bidang formulir kustom saat Anda melakukan postingan asinkron. Kemudian periksa header atau bidang formulir kustom dalam kode server.

Penggunaan UpdatePanel

Anda dapat menggunakan beberapa UpdatePanel kontrol untuk memperbarui beberapa wilayah halaman secara independen. Ketika halaman yang berisi satu atau beberapa UpdatePanel kontrol pertama kali dirender, semua konten semua UpdatePanel kontrol dirender dan dikirim ke browser. Pada postback asinkron berikutnya, konten setiap kontrol mungkin tidak diperbarui tergantung pada pengaturan panel dan pada logika klien atau server untuk masing-masing UpdatePanel panel.

Anda juga dapat menggunakan UpdatePanel kontrol untuk hal berikut:

  • Dalam kontrol pengguna.

  • Pada halaman master dan konten.

  • Bersarang di dalam kontrol lain UpdatePanel .

  • Di dalam kontrol templat seperti GridView kontrol atau Repeater .

UpdatePanel kontrol dapat ditambahkan secara deklaratif atau terprogram.

Anda dapat menambahkan UpdatePanel kontrol secara terprogram, tetapi Anda tidak dapat menambahkan pemicu secara terprogram. Untuk membuat perilaku seperti pemicu, Anda dapat mendaftarkan kontrol di halaman sebagai kontrol postback asinkron. Anda melakukan ini dengan memanggil RegisterAsyncPostBackControl metode ScriptManager kontrol. Anda kemudian dapat membuat penanganan aktivitas yang berjalan sebagai respons terhadap postback asinkron, dan di handler, panggil Update metode UpdatePanel kontrol.

Menerapkan Gaya

Kontrol UpdatePanel menerima atribut expando. Ini memungkinkan Anda mengatur kelas CSS untuk elemen HTML yang dirender kontrol. Misalnya, Anda dapat membuat markup yang diperlihatkan dalam contoh berikut:

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

Markup dalam contoh sebelumnya merender HTML yang mirip dengan yang berikut ini saat halaman berjalan:

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

Sintaks Deklaratif

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

Konstruktor

UpdatePanel()

Menginisialisasi instans baru kelas UpdatePanel.

Properti

Adapter

Mendapatkan adaptor khusus browser untuk kontrol.

(Diperoleh dari Control)
AppRelativeTemplateSourceDirectory

Mendapatkan atau mengatur direktori virtual relatif aplikasi dari Page objek atau UserControl yang berisi kontrol ini.

(Diperoleh dari Control)
Attributes

Mendapatkan koleksi atribut lembar gaya kaskading (CSS) kontrol UpdatePanel .

BindingContainer

Mendapatkan kontrol yang berisi pengikatan data kontrol ini.

(Diperoleh dari Control)
ChildControlsCreated

Mendapatkan nilai yang menunjukkan apakah kontrol anak kontrol server telah dibuat.

(Diperoleh dari Control)
ChildrenAsTriggers

Mendapatkan atau menetapkan nilai yang menunjukkan apakah postback dari kontrol turunan langsung dari UpdatePanel kontrol memperbarui konten panel.

ClientID

Mendapatkan ID kontrol untuk markup HTML yang dihasilkan oleh ASP.NET.

(Diperoleh dari Control)
ClientIDMode

Mendapatkan atau mengatur algoritma yang digunakan untuk menghasilkan nilai ClientID properti.

(Diperoleh dari Control)
ClientIDSeparator

Mendapatkan nilai karakter yang mewakili karakter pemisah yang digunakan dalam ClientID properti .

(Diperoleh dari Control)
ContentTemplate

Mendapatkan atau mengatur templat yang menentukan konten UpdatePanel kontrol.

ContentTemplateContainer

Mendapatkan objek kontrol tempat Anda dapat menambahkan kontrol anak secara terprogram.

Context

Mendapatkan objek yang HttpContext terkait dengan kontrol server untuk permintaan Web saat ini.

(Diperoleh dari Control)
Controls

ControlCollection Mendapatkan objek yang berisi kontrol anak untuk kontrol.UpdatePanel

DataItemContainer

Mendapatkan referensi ke kontainer penamaan jika kontainer penamaan mengimplementasikan IDataItemContainer.

(Diperoleh dari Control)
DataKeysContainer

Mendapatkan referensi ke kontainer penamaan jika kontainer penamaan mengimplementasikan IDataKeysControl.

(Diperoleh dari Control)
DesignMode

Mendapatkan nilai yang menunjukkan apakah kontrol sedang digunakan pada permukaan desain.

(Diperoleh dari Control)
EnableTheming

Mendapatkan atau menetapkan nilai yang menunjukkan apakah tema berlaku untuk kontrol ini.

(Diperoleh dari Control)
EnableViewState

Mendapatkan atau menetapkan nilai yang menunjukkan apakah kontrol server mempertahankan status tampilannya, dan status tampilan setiap kontrol anak yang dikandungnya, ke klien yang meminta.

(Diperoleh dari Control)
Events

Mendapatkan daftar delegasi penanganan aktivitas untuk kontrol. Properti ini bersifat hanya baca.

(Diperoleh dari Control)
HasChildViewState

Mendapatkan nilai yang menunjukkan apakah kontrol anak kontrol server saat ini memiliki pengaturan status tampilan yang disimpan.

(Diperoleh dari Control)
ID

Mendapatkan atau mengatur pengidentifikasi terprogram yang ditetapkan ke kontrol server.

(Diperoleh dari Control)
IdSeparator

Mendapatkan karakter yang digunakan untuk memisahkan pengidentifikasi kontrol.

(Diperoleh dari Control)
IsChildControlStateCleared

Mendapatkan nilai yang menunjukkan apakah kontrol yang terkandung dalam kontrol ini memiliki status kontrol.

(Diperoleh dari Control)
IsInPartialRendering

Mendapatkan nilai yang menunjukkan apakah UpdatePanel kontrol sedang diperbarui sebagai akibat dari postback asinkron.

IsTrackingViewState

Mendapatkan nilai yang menunjukkan apakah kontrol server menyimpan perubahan pada status tampilannya.

(Diperoleh dari Control)
IsViewStateEnabled

Mendapatkan nilai yang menunjukkan apakah status tampilan diaktifkan untuk kontrol ini.

(Diperoleh dari Control)
LoadViewStateByID

Mendapatkan nilai yang menunjukkan apakah kontrol berpartisipasi dalam memuat status tampilannya dengan ID bukan indeks.

(Diperoleh dari Control)
NamingContainer

Mendapatkan referensi ke kontainer penamaan kontrol server, yang membuat namespace unik untuk membedakan antara kontrol server dengan nilai properti yang sama ID .

(Diperoleh dari Control)
Page

Mendapatkan referensi ke Page instans yang berisi kontrol server.

(Diperoleh dari Control)
Parent

Mendapatkan referensi ke kontrol induk kontrol server dalam hierarki kontrol halaman.

(Diperoleh dari Control)
RenderingCompatibility

Mendapatkan nilai yang menentukan versi ASP.NET yang akan kompatibel dengan HTML yang dirender.

(Diperoleh dari Control)
RenderMode

Mendapatkan atau menetapkan nilai yang menunjukkan apakah UpdatePanel konten kontrol diapit dalam HTML <div> atau <span> elemen.

RequiresUpdate

Mendapatkan nilai yang menunjukkan apakah konten UpdatePanel kontrol akan diperbarui.

Site

Mendapatkan informasi tentang kontainer yang menghosting kontrol saat ini saat dirender pada permukaan desain.

(Diperoleh dari Control)
SkinID

Mendapatkan atau mengatur kulit untuk diterapkan ke kontrol.

(Diperoleh dari Control)
TemplateControl

Mendapatkan atau mengatur referensi ke templat yang berisi kontrol ini.

(Diperoleh dari Control)
TemplateSourceDirectory

Mendapatkan direktori Page virtual dari atau UserControl yang berisi kontrol server saat ini.

(Diperoleh dari Control)
Triggers

UpdatePanelTriggerCollection Mendapatkan objek yang berisi AsyncPostBackTrigger objek dan PostBackTrigger yang didaftarkan secara deklaratif untuk UpdatePanel kontrol.

UniqueID

Mendapatkan pengidentifikasi unik yang memenuhi syarat secara hierarkis untuk kontrol server.

(Diperoleh dari Control)
UpdateMode

Mendapatkan atau menetapkan nilai yang menunjukkan kapan UpdatePanel konten kontrol diperbarui.

ValidateRequestMode

Mendapatkan atau menetapkan nilai yang menunjukkan apakah kontrol memeriksa input klien dari browser untuk nilai yang berpotensi berbahaya.

(Diperoleh dari Control)
ViewState

Mendapatkan kamus informasi status yang memungkinkan Anda menyimpan dan memulihkan status tampilan kontrol server di beberapa permintaan untuk halaman yang sama.

(Diperoleh dari Control)
ViewStateIgnoresCase

Mendapatkan nilai yang menunjukkan apakah StateBag objek tidak peka huruf besar/kecil.

(Diperoleh dari Control)
ViewStateMode

Mendapatkan atau mengatur mode view-state kontrol ini.

(Diperoleh dari Control)
Visible

Mendapatkan atau menetapkan nilai yang menunjukkan apakah kontrol server dirender sebagai UI di halaman.

(Diperoleh dari Control)

Metode

AddedControl(Control, Int32)

Dipanggil setelah kontrol anak ditambahkan ke Controls koleksi Control objek.

(Diperoleh dari Control)
AddParsedSubObject(Object)

Memberi tahu kontrol server bahwa elemen, baik XML atau HTML, diurai, dan menambahkan elemen ke objek kontrol ControlCollection server.

(Diperoleh dari Control)
ApplyStyleSheetSkin(Page)

Menerapkan properti gaya yang ditentukan dalam lembar gaya halaman ke kontrol.

(Diperoleh dari Control)
BeginRenderTracing(TextWriter, Object)

Memulai pelacakan waktu desain untuk merender data.

(Diperoleh dari Control)
BuildProfileTree(String, Boolean)

Mengumpulkan informasi tentang kontrol server dan mengirimkannya ke properti yang Trace akan ditampilkan saat pelacakan diaktifkan untuk halaman.

(Diperoleh dari Control)
ClearCachedClientID()

Mengatur nilai yang di-cache ClientID ke null.

(Diperoleh dari Control)
ClearChildControlState()

Menghapus informasi status-kontrol untuk kontrol anak kontrol server.

(Diperoleh dari Control)
ClearChildState()

Menghapus informasi status-tampilan dan status-kontrol untuk semua kontrol turunan kontrol server.

(Diperoleh dari Control)
ClearChildViewState()

Menghapus informasi status tampilan untuk semua kontrol anak kontrol server.

(Diperoleh dari Control)
ClearEffectiveClientIDMode()

Mengatur properti instans ClientIDMode kontrol saat ini dan kontrol turunan apa pun ke Inherit.

(Diperoleh dari Control)
CreateChildControls()

Dipanggil oleh kerangka kerja halaman ASP.NET untuk memberi tahu kontrol server yang menggunakan implementasi berbasis komposisi untuk membuat kontrol anak apa pun yang dikandungnya sebagai persiapan untuk memposting kembali atau merender.

(Diperoleh dari Control)
CreateContentTemplateContainer()

Control Membuat objek yang bertindak sebagai kontainer untuk kontrol anak yang menentukan UpdatePanel konten kontrol.

CreateControlCollection()

Mengembalikan kumpulan semua kontrol yang terkandung dalam UpdatePanel kontrol.

DataBind()

Mengikat sumber data ke kontrol server yang dipanggil dan semua kontrol turunannya.

(Diperoleh dari Control)
DataBind(Boolean)

Mengikat sumber data ke kontrol server yang dipanggil dan semua kontrol turunannya dengan opsi untuk menaikkan DataBinding peristiwa.

(Diperoleh dari Control)
DataBindChildren()

Mengikat sumber data ke kontrol anak kontrol server.

(Diperoleh dari Control)
Dispose()

Memungkinkan kontrol server untuk melakukan pembersihan akhir sebelum dilepaskan dari memori.

(Diperoleh dari Control)
EndRenderTracing(TextWriter, Object)

Mengakhiri pelacakan waktu desain penyajian data.

(Diperoleh dari Control)
EnsureChildControls()

Menentukan apakah kontrol server memuat kontrol turunan. Jika tidak, ia membuat kontrol anak.

(Diperoleh dari Control)
EnsureID()

Membuat pengidentifikasi untuk kontrol yang tidak memiliki pengidentifikasi yang ditetapkan.

(Diperoleh dari Control)
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
FindControl(String)

Mencari kontainer penamaan saat ini untuk kontrol server dengan parameter yang ditentukan id .

(Diperoleh dari Control)
FindControl(String, Int32)

Mencari kontainer penamaan saat ini untuk kontrol server dengan bilangan bulat dan yang ditentukan id , yang ditentukan dalam pathOffset parameter , yang membantu dalam pencarian. Anda tidak boleh mengambil alih versi FindControl metode ini.

(Diperoleh dari Control)
Focus()

Mengatur fokus input ke kontrol.

(Diperoleh dari Control)
GetDesignModeState()

Mendapatkan data waktu desain untuk kontrol.

(Diperoleh dari Control)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetRouteUrl(Object)

Mendapatkan URL yang sesuai dengan sekumpulan parameter rute.

(Diperoleh dari Control)
GetRouteUrl(RouteValueDictionary)

Mendapatkan URL yang sesuai dengan sekumpulan parameter rute.

(Diperoleh dari Control)
GetRouteUrl(String, Object)

Mendapatkan URL yang sesuai dengan sekumpulan parameter rute dan nama rute.

(Diperoleh dari Control)
GetRouteUrl(String, RouteValueDictionary)

Mendapatkan URL yang sesuai dengan sekumpulan parameter rute dan nama rute.

(Diperoleh dari Control)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
GetUniqueIDRelativeTo(Control)

Mengembalikan bagian awalan dari UniqueID properti kontrol yang ditentukan.

(Diperoleh dari Control)
HasControls()

Menentukan apakah kontrol server berisi kontrol anak apa pun.

(Diperoleh dari Control)
HasEvents()

Mengembalikan nilai yang menunjukkan apakah peristiwa terdaftar untuk kontrol atau kontrol turunan apa pun.

(Diperoleh dari Control)
Initialize()

Menginisialisasi kumpulan pemicu kontrol jika penyajian halaman parsial UpdatePanel diaktifkan.

IsLiteralContent()

Menentukan apakah kontrol server hanya menyimpan konten harfiah.

(Diperoleh dari Control)
LoadControlState(Object)

Memulihkan informasi status kontrol dari permintaan halaman sebelumnya yang disimpan oleh SaveControlState() metode .

(Diperoleh dari Control)
LoadViewState(Object)

Memulihkan informasi status tampilan dari permintaan halaman sebelumnya yang disimpan oleh SaveViewState() metode .

(Diperoleh dari Control)
MapPathSecure(String)

Mengambil jalur fisik tempat jalur virtual, baik absolut atau relatif, dipetakan.

(Diperoleh dari Control)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
OnBubbleEvent(Object, EventArgs)

Menentukan apakah peristiwa untuk kontrol server diteruskan ke hierarki kontrol server UI halaman.

(Diperoleh dari Control)
OnDataBinding(EventArgs)

Memunculkan kejadian DataBinding.

(Diperoleh dari Control)
OnInit(EventArgs)

Memunculkan kejadian Init.

OnLoad(EventArgs)

Load Menaikkan peristiwa untuk UpdatePanel kontrol dan memanggil Initialize() metode ketika penyajian sebagian halaman tidak diaktifkan.

OnPreRender(EventArgs)

Memunculkan kejadian PreRender.

OnUnload(EventArgs)

Menaikkan peristiwa dasar Unload .

OpenFile(String)

Stream Terbiasa membaca file.

(Diperoleh dari Control)
RaiseBubbleEvent(Object, EventArgs)

Menetapkan sumber peristiwa apa pun dan informasinya ke induk kontrol.

(Diperoleh dari Control)
RemovedControl(Control)

Dipanggil setelah kontrol anak dihapus dari Controls koleksi Control objek.

(Diperoleh dari Control)
Render(HtmlTextWriter)

Memunculkan kejadian Render(HtmlTextWriter).

RenderChildren(HtmlTextWriter)

Memunculkan kejadian RenderChildren(HtmlTextWriter).

RenderControl(HtmlTextWriter)

Output konten kontrol server ke objek yang disediakan HtmlTextWriter dan menyimpan informasi pelacakan tentang kontrol jika pelacakan diaktifkan.

(Diperoleh dari Control)
RenderControl(HtmlTextWriter, ControlAdapter)

Output konten kontrol server ke objek yang disediakan HtmlTextWriter menggunakan objek yang disediakan ControlAdapter .

(Diperoleh dari Control)
ResolveAdapter()

Mendapatkan adaptor kontrol yang bertanggung jawab untuk merender kontrol yang ditentukan.

(Diperoleh dari Control)
ResolveClientUrl(String)

Mendapatkan URL yang dapat digunakan oleh browser.

(Diperoleh dari Control)
ResolveUrl(String)

Mengonversi URL menjadi URL yang dapat digunakan pada klien yang meminta.

(Diperoleh dari Control)
SaveControlState()

Menyimpan perubahan status kontrol server apa pun yang telah terjadi sejak halaman diposting kembali ke server.

(Diperoleh dari Control)
SaveViewState()

Menyimpan perubahan status tampilan kontrol server yang telah terjadi sejak halaman diposting kembali ke server.

(Diperoleh dari Control)
SetDesignModeState(IDictionary)

Mengatur data waktu desain untuk kontrol.

(Diperoleh dari Control)
SetRenderMethodDelegate(RenderMethod)

Menetapkan delegasi penanganan aktivitas untuk merender kontrol server dan kontennya ke dalam kontrol induknya.

(Diperoleh dari Control)
SetTraceData(Object, Object)

Mengatur data pelacakan untuk pelacakan waktu desain data penyajian, menggunakan kunci data pelacakan dan nilai data pelacakan.

(Diperoleh dari Control)
SetTraceData(Object, Object, Object)

Mengatur data pelacakan untuk pelacakan waktu desain data penyajian, menggunakan objek yang dilacak, kunci data pelacakan, dan nilai data pelacakan.

(Diperoleh dari Control)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
TrackViewState()

Menyebabkan pelacakan perubahan status tampilan pada kontrol server sehingga dapat disimpan di objek kontrol StateBag server. Objek ini dapat diakses melalui ViewState properti .

(Diperoleh dari Control)
Update()

Menyebabkan pembaruan konten UpdatePanel kontrol.

Acara

DataBinding

Terjadi ketika kontrol server mengikat ke sumber data.

(Diperoleh dari Control)
Disposed

Terjadi ketika kontrol server dilepaskan dari memori, yang merupakan tahap terakhir dari siklus hidup kontrol server ketika halaman ASP.NET diminta.

(Diperoleh dari Control)
Init

Terjadi ketika kontrol server diinisialisasi, yang merupakan langkah pertama dalam siklus hidupnya.

(Diperoleh dari Control)
Load

Terjadi ketika kontrol server dimuat ke Page dalam objek.

(Diperoleh dari Control)
PreRender

Terjadi setelah Control objek dimuat tetapi sebelum penyajian.

(Diperoleh dari Control)
Unload

Terjadi ketika kontrol server dibongkar dari memori.

(Diperoleh dari Control)

Implementasi Antarmuka Eksplisit

IAttributeAccessor.GetAttribute(String)

Mengembalikan atribut kontrol Web dengan menggunakan nama tertentu.

IAttributeAccessor.SetAttribute(String, String)

Mengatur nilai atribut kontrol yang ditentukan.

IControlBuilderAccessor.ControlBuilder

Untuk deskripsi anggota ini, lihat ControlBuilder.

(Diperoleh dari Control)
IControlDesignerAccessor.GetDesignModeState()

Untuk deskripsi anggota ini, lihat GetDesignModeState().

(Diperoleh dari Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

Untuk deskripsi anggota ini, lihat SetDesignModeState(IDictionary).

(Diperoleh dari Control)
IControlDesignerAccessor.SetOwnerControl(Control)

Untuk deskripsi anggota ini, lihat SetOwnerControl(Control).

(Diperoleh dari Control)
IControlDesignerAccessor.UserData

Untuk deskripsi anggota ini, lihat UserData.

(Diperoleh dari Control)
IDataBindingsAccessor.DataBindings

Untuk deskripsi anggota ini, lihat DataBindings.

(Diperoleh dari Control)
IDataBindingsAccessor.HasDataBindings

Untuk deskripsi anggota ini, lihat HasDataBindings.

(Diperoleh dari Control)
IExpressionsAccessor.Expressions

Untuk deskripsi anggota ini, lihat Expressions.

(Diperoleh dari Control)
IExpressionsAccessor.HasExpressions

Untuk deskripsi anggota ini, lihat HasExpressions.

(Diperoleh dari Control)
IParserAccessor.AddParsedSubObject(Object)

Untuk deskripsi anggota ini, lihat AddParsedSubObject(Object).

(Diperoleh dari Control)

Metode Ekstensi

FindDataSourceControl(Control)

Mengembalikan sumber data yang terkait dengan kontrol data untuk kontrol yang ditentukan.

FindFieldTemplate(Control, String)

Mengembalikan templat bidang untuk kolom yang ditentukan dalam kontainer penamaan kontrol yang ditentukan.

FindMetaTable(Control)

Mengembalikan objek metatable untuk kontrol data yang berisi.

Berlaku untuk

Lihat juga