UpdatePanel Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Umożliwia częściowe renderowanie sekcji strony bez ogłaszania zwrotnego.
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
- Dziedziczenie
- Atrybuty
- Implementuje
Przykłady
W poniższych przykładach przedstawiono różne zastosowania kontrolki UpdatePanel .
Kontrolki wewnątrz kontrolki UpdatePanel
W poniższym przykładzie pokazano, jak umieścić kontrolki wewnątrz kontrolki, UpdatePanel aby zmniejszyć migotanie ekranu podczas publikowania na serwerze. W tym przykładzie kontrolka CalendarDropDownList i znajdują się wewnątrz kontrolki UpdatePanel . Domyślnie UpdateMode właściwość to Always , a ChildrenAsTriggers właściwość to true
. W związku z tym kontrolki podrzędne panelu powodują asynchroniczne wycofywanie.
<%@ 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>
Scenariusz wzorca/szczegółów z kontrolkami UpdatePanel
W poniższym przykładzie kontrolka UpdatePanel jest używana w scenariuszu głównym/szczegółowym, który pokazuje zamówienia i szczegóły zamówienia z bazy danych Northwind. Jedna UpdatePanel kontrolka zawiera kontrolkę GridView , która wyświetla listę zamówień. Druga UpdatePanel kontrolka zawiera kontrolkę DetailsView , która wyświetla szczegóły jednego zamówienia. Po wybraniu zamówienia z pierwszej tabeli szczegóły dotyczące tej kolejności są wyświetlane w drugiej tabeli. Druga tabela jest aktualizowana asynchronicznie na podstawie zaznaczenia w pierwszej tabeli. Operacje sortowania i stronicowania w tabeli podsumowania zamówień również powodują częściowe aktualizacje.
<%@ 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>
Jeśli umieścisz kontrolkę GridView wewnątrz UpdatePanel kontrolki, ustawienie GridView właściwości kontrolki EnableSortingAndPagingCallbacks na true
nie jest obsługiwane. Jednak ze względu na to, że kontrolka UpdatePanel obsługuje asynchroniczne wycofywanie, wszelkie postbacki, które zmieniają kontrolkę GridView wewnątrz UpdatePanel kontrolki, powodują takie samo zachowanie jak sortowanie i stronicowanie wywołań zwrotnych.
Używanie kontrolki UpdatePanel w szablonie
W poniższym przykładzie kontrolka UpdatePanel jest używana w szablonie elementu kontrolki GridView . UpdatePanel kontrolki w każdym wierszu danych są generowane automatycznie. Kontrolka UpdatePanel każdego wiersza zawiera kontrolkę służącą Label do wyświetlania ilości elementu w tym wierszu oraz kontrolki w Button celu zmniejszenia i zwiększenia ilości.
<%@ 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>
Uwagi
W tym temacie:
Wprowadzenie
UpdatePanel kontrolki są centralną częścią funkcji AJAX w ASP.NET. Są one używane z kontrolką ScriptManager w celu włączenia renderowania częściowej strony. Renderowanie częściowe strony zmniejsza potrzebę synchronicznych poświadczeń zwrotnych i pełnych aktualizacji strony, gdy trzeba zaktualizować tylko część strony. Renderowanie częściowej strony poprawia środowisko użytkownika, ponieważ zmniejsza migotanie ekranu, które występuje podczas pełnostronicowego wycofywania i poprawia interakcyjność strony internetowej.
Odświeżanie zawartości UpdatePanel
Po włączeniu renderowania częściowej strony kontrolka może wykonać powrót, który aktualizuje całą stronę lub asynchroniczny postback, który aktualizuje zawartość co najmniej jednej UpdatePanel kontrolki. Czy kontrolka powoduje asynchroniczne wycofywanie i aktualizuje kontrolkę UpdatePanel , zależy od następujących elementów:
UpdateMode Jeśli właściwość kontrolki UpdatePanel jest ustawiona na Always, UpdatePanel zawartość kontrolki jest aktualizowana na każdym poście zwrotnym pochodzącym ze strony. Obejmuje to asynchroniczne wycofywanie z kontrolek, które znajdują się wewnątrz innych UpdatePanel kontrolek i wycofywania z kontrolek, które nie znajdują się wewnątrz UpdatePanel kontrolek.
UpdateMode Jeśli właściwość jest ustawiona na Conditional, UpdatePanel zawartość kontrolki jest aktualizowana w następujących okolicznościach:
Po jawnym Update wywołaniu metody kontrolki UpdatePanel .
Gdy kontrolka UpdatePanel jest zagnieżdżona wewnątrz innej UpdatePanel kontrolki, a panel nadrzędny jest aktualizowany.
Gdy powrót jest spowodowany przez kontrolkę zdefiniowaną jako wyzwalacz przy użyciu
Triggers
właściwości kontrolki UpdatePanel . W tym scenariuszu kontrolka jawnie wyzwala aktualizację zawartości panelu. Kontrolka może znajdować się wewnątrz lub poza kontrolką UpdatePanel skojarzona z wyzwalaczem.Gdy ChildrenAsTriggers właściwość jest ustawiona na
true
, a kontrolka podrzędna kontrolki UpdatePanel powoduje powrót. Kontrolki podrzędne zagnieżdżonych UpdatePanel kontrolek nie powodują aktualizacji do zewnętrznej UpdatePanel kontrolki, chyba że są jawnie zdefiniowane jako wyzwalacze.
Kombinacja ustawiania ChildrenAsTriggers właściwości na false
i UpdateMode właściwości Always na wartość jest niedozwolona i zgłasza wyjątek.
Gdy kontrolka UpdatePanel wykonuje wpis asynchroniczny, dodaje niestandardowy nagłówek HTTP. Niektóre serwery proxy usuwają ten niestandardowy nagłówek HTTP. Jeśli tak się stanie, serwer obsługuje żądanie jako regularne wycofywanie, co powoduje błąd klienta. Aby rozwiązać ten problem, wstaw pole formularza niestandardowego podczas wykonywania asynchronicznych wpisów. Następnie sprawdź nagłówek lub pole formularza niestandardowego w kodzie serwera.
Korzystanie z UpdatePanel
Można użyć wielu UpdatePanel kontrolek, aby niezależnie zaktualizować wiele regionów stron. Gdy strona zawierająca co najmniej jedną UpdatePanel kontrolkę jest najpierw renderowana, cała zawartość wszystkich UpdatePanel kontrolek jest renderowana i wysyłana do przeglądarki. Podczas kolejnych asynchronicznych poświadczeń zwrotnych zawartość każdej UpdatePanel kontrolki może nie być aktualizowana w zależności od ustawień panelu i logiki klienta lub serwera dla poszczególnych paneli.
Można również użyć UpdatePanel kontrolek dla następujących elementów:
W kontrolkach użytkownika.
Na stronach wzorcowych i zawartości.
Zagnieżdżone wewnątrz innych UpdatePanel kontrolek.
Wewnątrz kontrolek szablonów, takich jak kontrolki GridView lub Repeater .
UpdatePanel kontrolki można dodawać deklaratywnie lub programowo.
Kontrolkę UpdatePanel można dodać programowo, ale nie można dodawać wyzwalaczy programowo. Aby utworzyć zachowanie przypominające wyzwalacz, możesz zarejestrować kontrolkę na stronie jako asynchroniczną kontrolkę ogłaszania zwrotnego. W tym celu należy wywołać metodę RegisterAsyncPostBackControl kontrolki ScriptManager . Następnie można utworzyć program obsługi zdarzeń, który jest uruchamiany w odpowiedzi na asynchroniczne ogłaszanie zwrotne, a w procedurze obsługi wywołaj Update metodę kontrolki UpdatePanel .
Stosowanie stylów
Kontrolka UpdatePanel akceptuje atrybuty expando. Dzięki temu można ustawić klasę CSS dla elementów HTML renderowanych przez kontrolki. Możesz na przykład utworzyć znaczniki pokazane w poniższym przykładzie:
<asp:UpdatePanel runat="server" class="myStyle">
</asp:UpdatePanel>
Znaczniki w poprzednim przykładzie renderuje kod HTML podobny do następującego po uruchomieniu strony:
<div id="ctl00_MainContent_UpdatePanel1" class="MyStyle">
</div>
Składnia deklaracyjna
<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() |
Inicjuje nowe wystąpienie klasy UpdatePanel. |
Właściwości
Adapter |
Pobiera kartę specyficzną dla przeglądarki dla kontrolki. (Odziedziczone po Control) |
AppRelativeTemplateSourceDirectory |
Pobiera lub ustawia względny katalog Page wirtualny aplikacji obiektu lub UserControl , który zawiera tę kontrolkę. (Odziedziczone po Control) |
Attributes |
Pobiera kaskadowy arkusz stylów (CSS) kolekcji atrybutów kontrolki UpdatePanel . |
BindingContainer |
Pobiera kontrolkę zawierającą powiązanie danych tego formantu. (Odziedziczone po Control) |
ChildControlsCreated |
Pobiera wartość wskazującą, czy kontrolki podrzędne kontrolki serwera zostały utworzone. (Odziedziczone po Control) |
ChildrenAsTriggers |
Pobiera lub ustawia wartość wskazującą, czy wycofywanie z natychmiastowych kontrolek podrzędnych UpdatePanel kontrolki aktualizuje zawartość panelu. |
ClientID |
Pobiera identyfikator kontrolki dla znaczników HTML generowanych przez ASP.NET. (Odziedziczone po Control) |
ClientIDMode |
Pobiera lub ustawia algorytm używany do generowania ClientID wartości właściwości. (Odziedziczone po Control) |
ClientIDSeparator |
Pobiera wartość znaku reprezentującą znak separatora ClientID używany we właściwości . (Odziedziczone po Control) |
ContentTemplate |
Pobiera lub ustawia szablon, który definiuje zawartość kontrolki UpdatePanel . |
ContentTemplateContainer |
Pobiera obiekt kontrolny, do którego można programowo dodać kontrolki podrzędne. |
Context |
HttpContext Pobiera obiekt skojarzony z kontrolką serwera dla bieżącego żądania sieci Web. (Odziedziczone po Control) |
Controls |
ControlCollection Pobiera obiekt zawierający kontrolkę podrzędnąUpdatePanel. |
DataItemContainer |
Pobiera odwołanie do kontenera nazewnictwa, jeśli kontener nazewnictwa implementuje IDataItemContainerelement . (Odziedziczone po Control) |
DataKeysContainer |
Pobiera odwołanie do kontenera nazewnictwa, jeśli kontener nazewnictwa implementuje IDataKeysControlelement . (Odziedziczone po Control) |
DesignMode |
Pobiera wartość wskazującą, czy kontrolka jest używana na powierzchni projektowej. (Odziedziczone po Control) |
EnableTheming |
Pobiera lub ustawia wartość wskazującą, czy motywy mają zastosowanie do tej kontrolki. (Odziedziczone po Control) |
EnableViewState |
Pobiera lub ustawia wartość wskazującą, czy kontrolka serwera utrzymuje stan widoku oraz stan widoku wszystkich kontrolek podrzędnych, które zawiera, do klienta wysyłającego żądanie. (Odziedziczone po Control) |
Events |
Pobiera listę delegatów programu obsługi zdarzeń dla kontrolki. Ta właściwość jest tylko do odczytu. (Odziedziczone po Control) |
HasChildViewState |
Pobiera wartość wskazującą, czy kontrolki podrzędne bieżącego formantu serwera mają zapisane ustawienia stanu widoku. (Odziedziczone po Control) |
ID |
Pobiera lub ustawia identyfikator programowy przypisany do kontrolki serwera. (Odziedziczone po Control) |
IdSeparator |
Pobiera znak używany do oddzielania identyfikatorów kontrolek. (Odziedziczone po Control) |
IsChildControlStateCleared |
Pobiera wartość wskazującą, czy kontrolki zawarte w tej kontrolce mają stan kontroli. (Odziedziczone po Control) |
IsInPartialRendering |
Pobiera wartość wskazującą, czy kontrolka UpdatePanel jest aktualizowana w wyniku asynchronicznego wycofywania. |
IsTrackingViewState |
Pobiera wartość wskazującą, czy kontrolka serwera zapisuje zmiany w stanie widoku. (Odziedziczone po Control) |
IsViewStateEnabled |
Pobiera wartość wskazującą, czy dla tej kontrolki jest włączony stan widoku. (Odziedziczone po Control) |
LoadViewStateByID |
Pobiera wartość wskazującą, czy kontrolka uczestniczy w ładowaniu stanu widoku przez ID zamiast indeksu. (Odziedziczone po Control) |
NamingContainer |
Pobiera odwołanie do kontenera nazewnictwa kontrolki serwera, który tworzy unikatową przestrzeń nazw do rozróżniania między kontrolkami serwera o tej samej ID wartości właściwości. (Odziedziczone po Control) |
Page |
Pobiera odwołanie do Page wystąpienia, które zawiera kontrolkę serwera. (Odziedziczone po Control) |
Parent |
Pobiera odwołanie do kontrolki nadrzędnej kontrolki serwera w hierarchii sterowania stronami. (Odziedziczone po Control) |
RenderingCompatibility |
Pobiera wartość określającą wersję ASP.NET, z którą renderowany kod HTML będzie zgodny. (Odziedziczone po Control) |
RenderMode |
Pobiera lub ustawia wartość wskazującą, czy UpdatePanel zawartość kontrolki jest ujęta w kod HTML |
RequiresUpdate |
Pobiera wartość wskazującą, czy zawartość kontrolki UpdatePanel zostanie zaktualizowana. |
Site |
Pobiera informacje o kontenerze, który hostuje bieżącą kontrolkę podczas renderowania na powierzchni projektowej. (Odziedziczone po Control) |
SkinID |
Pobiera lub ustawia skórę do zastosowania w kontrolce. (Odziedziczone po Control) |
TemplateControl |
Pobiera lub ustawia odwołanie do szablonu zawierającego tę kontrolkę. (Odziedziczone po Control) |
TemplateSourceDirectory |
Pobiera katalog wirtualny elementu Page lub UserControl , który zawiera bieżącą kontrolkę serwera. (Odziedziczone po Control) |
Triggers |
UpdatePanelTriggerCollection Pobiera obiekt zawierający AsyncPostBackTrigger obiekty iPostBackTrigger, które zostały zarejestrowane deklaratywnie dla kontrolkiUpdatePanel. |
UniqueID |
Pobiera unikatowy, hierarchicznie kwalifikowany identyfikator kontroli serwera. (Odziedziczone po Control) |
UpdateMode |
Pobiera lub ustawia wartość wskazującą, kiedy UpdatePanel zawartość kontrolki jest aktualizowana. |
ValidateRequestMode |
Pobiera lub ustawia wartość wskazującą, czy kontrolka sprawdza dane wejściowe klienta z przeglądarki pod kątem potencjalnie niebezpiecznych wartości. (Odziedziczone po Control) |
ViewState |
Pobiera słownik informacji o stanie, który umożliwia zapisanie i przywrócenie stanu widoku kontrolki serwera w wielu żądaniach dla tej samej strony. (Odziedziczone po Control) |
ViewStateIgnoresCase |
Pobiera wartość wskazującą, czy StateBag obiekt jest niewrażliwy na wielkość liter. (Odziedziczone po Control) |
ViewStateMode |
Pobiera lub ustawia tryb stanu widoku tej kontrolki. (Odziedziczone po Control) |
Visible |
Pobiera lub ustawia wartość wskazującą, czy kontrolka serwera jest renderowana jako interfejs użytkownika na stronie. (Odziedziczone po Control) |
Metody
AddedControl(Control, Int32) |
Wywoływane po dodaniu kontrolki podrzędnej do Controls kolekcji Control obiektu. (Odziedziczone po Control) |
AddParsedSubObject(Object) |
Powiadamia formant serwera, że element ( XML lub HTML) został przeanalizowany i dodaje element do obiektu kontrolki ControlCollection serwera. (Odziedziczone po Control) |
ApplyStyleSheetSkin(Page) |
Stosuje właściwości stylu zdefiniowane w arkuszu stylów strony do kontrolki. (Odziedziczone po Control) |
BeginRenderTracing(TextWriter, Object) |
Rozpoczyna śledzenie danych renderowania w czasie projektowania. (Odziedziczone po Control) |
BuildProfileTree(String, Boolean) |
Zbiera informacje o kontrolce serwera i dostarcza ją do Trace właściwości, która ma być wyświetlana po włączeniu śledzenia dla strony. (Odziedziczone po Control) |
ClearCachedClientID() |
Ustawia wartość buforowanej ClientID na |
ClearChildControlState() |
Usuwa informacje o stanie sterowania dla kontrolek podrzędnych kontrolki serwera. (Odziedziczone po Control) |
ClearChildState() |
Usuwa informacje o stanie widoku i stanie sterowania dla wszystkich kontrolek podrzędnych kontrolki serwera. (Odziedziczone po Control) |
ClearChildViewState() |
Usuwa informacje o stanie widoku dla wszystkich kontrolek podrzędnych kontrolki serwera. (Odziedziczone po Control) |
ClearEffectiveClientIDMode() |
ClientIDMode Ustawia właściwość bieżącego wystąpienia kontrolki i wszystkich kontrolek podrzędnych na Inheritwartość . (Odziedziczone po Control) |
CreateChildControls() |
Wywoływana przez platformę strony ASP.NET w celu powiadamiania kontrolek serwera, które używają implementacji opartej na kompozycji w celu utworzenia wszelkich kontrolek podrzędnych, które zawierają w ramach przygotowania do publikowania z powrotem lub renderowania. (Odziedziczone po Control) |
CreateContentTemplateContainer() |
Control Tworzy obiekt, który działa jako kontener dla kontrolek podrzędnych definiujących UpdatePanel zawartość kontrolki. |
CreateControlCollection() |
Zwraca kolekcję wszystkich kontrolek zawartych w kontrolce UpdatePanel . |
DataBind() |
Wiąże źródło danych z wywołaną kontrolką serwera i wszystkimi jej kontrolkami podrzędnymi. (Odziedziczone po Control) |
DataBind(Boolean) |
Wiąże źródło danych z wywołaną kontrolką serwera i wszystkie jego kontrolki podrzędne z opcją wywołania DataBinding zdarzenia. (Odziedziczone po Control) |
DataBindChildren() |
Wiąże źródło danych z kontrolkami podrzędnymi kontrolki serwera. (Odziedziczone po Control) |
Dispose() |
Umożliwia kontroli serwera przeprowadzenie końcowego czyszczenia przed zwolnieniem z pamięci. (Odziedziczone po Control) |
EndRenderTracing(TextWriter, Object) |
Kończy śledzenie danych renderowania w czasie projektowania. (Odziedziczone po Control) |
EnsureChildControls() |
Określa, czy kontrolka serwera zawiera kontrolki podrzędne. Jeśli tak nie jest, tworzy kontrolki podrzędne. (Odziedziczone po Control) |
EnsureID() |
Tworzy identyfikator kontrolek, które nie mają przypisanego identyfikatora. (Odziedziczone po Control) |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
FindControl(String) |
Wyszukuje bieżący kontener nazewnictwa dla kontrolki serwera przy użyciu określonego |
FindControl(String, Int32) |
Wyszukuje bieżący kontener nazewnictwa dla kontrolki serwera z określoną liczbą |
Focus() |
Ustawia fokus danych wejściowych na kontrolkę. (Odziedziczone po Control) |
GetDesignModeState() |
Pobiera dane czasu projektowania dla kontrolki. (Odziedziczone po Control) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetRouteUrl(Object) |
Pobiera adres URL odpowiadający zestawowi parametrów trasy. (Odziedziczone po Control) |
GetRouteUrl(RouteValueDictionary) |
Pobiera adres URL odpowiadający zestawowi parametrów trasy. (Odziedziczone po Control) |
GetRouteUrl(String, Object) |
Pobiera adres URL odpowiadający zestawowi parametrów trasy i nazwie trasy. (Odziedziczone po Control) |
GetRouteUrl(String, RouteValueDictionary) |
Pobiera adres URL odpowiadający zestawowi parametrów trasy i nazwie trasy. (Odziedziczone po Control) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
GetUniqueIDRelativeTo(Control) |
Zwraca prefiksowaną część UniqueID właściwości określonej kontrolki. (Odziedziczone po Control) |
HasControls() |
Określa, czy kontrolka serwera zawiera jakiekolwiek kontrolki podrzędne. (Odziedziczone po Control) |
HasEvents() |
Zwraca wartość wskazującą, czy zdarzenia są zarejestrowane dla kontrolki, czy dla kontrolek podrzędnych. (Odziedziczone po Control) |
Initialize() |
Inicjuje UpdatePanel kolekcję wyzwalaczy sterowania, jeśli jest włączone renderowanie częściowej strony. |
IsLiteralContent() |
Określa, czy kontrolka serwera przechowuje tylko zawartość literału. (Odziedziczone po Control) |
LoadControlState(Object) |
Przywraca informacje o stanie kontroli z poprzedniego żądania strony, które zostało zapisane przez metodę SaveControlState() . (Odziedziczone po Control) |
LoadViewState(Object) |
Przywraca informacje o stanie widoku z poprzedniego żądania strony, które zostało zapisane przez metodę SaveViewState() . (Odziedziczone po Control) |
MapPathSecure(String) |
Pobiera ścieżkę fizyczną, z którą mapuje się ścieżka wirtualna , bezwzględna lub względna. (Odziedziczone po Control) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
OnBubbleEvent(Object, EventArgs) |
Określa, czy zdarzenie kontroli serwera jest przekazywane w hierarchii kontroli serwera interfejsu użytkownika strony. (Odziedziczone po Control) |
OnDataBinding(EventArgs) |
DataBinding Zgłasza zdarzenie. (Odziedziczone po Control) |
OnInit(EventArgs) |
Init Zgłasza zdarzenie. |
OnLoad(EventArgs) |
Load Zgłasza zdarzenie dla kontrolki i wywołuje Initialize() metodęUpdatePanel, gdy renderowanie częściowej strony nie jest włączone. |
OnPreRender(EventArgs) |
PreRender Zgłasza zdarzenie. |
OnUnload(EventArgs) |
Zgłasza zdarzenie podstawowe Unload . |
OpenFile(String) |
Pobiera element Stream używany do odczytywania pliku. (Odziedziczone po Control) |
RaiseBubbleEvent(Object, EventArgs) |
Przypisuje wszystkie źródła zdarzenia i jego informacje do elementu nadrzędnego kontrolki. (Odziedziczone po Control) |
RemovedControl(Control) |
Wywoływane po usunięciu kontrolki podrzędnej z Controls kolekcji Control obiektu. (Odziedziczone po Control) |
Render(HtmlTextWriter) |
Render(HtmlTextWriter) Zgłasza zdarzenie. |
RenderChildren(HtmlTextWriter) |
RenderChildren(HtmlTextWriter) Zgłasza zdarzenie. |
RenderControl(HtmlTextWriter) |
Dane wyjściowe serwera steruje zawartością dostarczonego HtmlTextWriter obiektu i przechowuje informacje śledzenia dotyczące kontrolki, jeśli śledzenie jest włączone. (Odziedziczone po Control) |
RenderControl(HtmlTextWriter, ControlAdapter) |
Dane wyjściowe serwera steruje zawartością dostarczonego HtmlTextWriter obiektu przy użyciu dostarczonego ControlAdapter obiektu. (Odziedziczone po Control) |
ResolveAdapter() |
Pobiera kartę sterową odpowiedzialną za renderowanie określonej kontrolki. (Odziedziczone po Control) |
ResolveClientUrl(String) |
Pobiera adres URL, który może być używany przez przeglądarkę. (Odziedziczone po Control) |
ResolveUrl(String) |
Konwertuje adres URL na adres, który może być używany przez klienta żądającego. (Odziedziczone po Control) |
SaveControlState() |
Zapisuje wszelkie zmiany stanu kontroli serwera, które wystąpiły od czasu opublikowania strony z powrotem na serwerze. (Odziedziczone po Control) |
SaveViewState() |
Zapisuje wszelkie zmiany stanu widoku kontroli serwera, które wystąpiły od czasu opublikowania strony z powrotem na serwerze. (Odziedziczone po Control) |
SetDesignModeState(IDictionary) |
Ustawia dane czasu projektowania dla kontrolki. (Odziedziczone po Control) |
SetRenderMethodDelegate(RenderMethod) |
Przypisuje delegata programu obsługi zdarzeń w celu renderowania kontrolki serwera i jego zawartości do kontrolki nadrzędnej. (Odziedziczone po Control) |
SetTraceData(Object, Object) |
Ustawia dane śledzenia dla śledzenia czasu projektowania danych renderowania przy użyciu klucza danych śledzenia i wartości danych śledzenia. (Odziedziczone po Control) |
SetTraceData(Object, Object, Object) |
Ustawia dane śledzenia dla śledzenia czasu projektowania danych renderowania, przy użyciu obiektu śledzonego, klucza danych śledzenia i wartości danych śledzenia. (Odziedziczone po Control) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
TrackViewState() |
Powoduje śledzenie zmian stanu widoku w kontrolce serwera, dzięki czemu mogą być przechowywane w obiekcie kontroli StateBag serwera. Ten obiekt jest dostępny za pośrednictwem ViewState właściwości . (Odziedziczone po Control) |
Update() |
Powoduje aktualizację zawartości kontrolki UpdatePanel . |
Zdarzenia
DataBinding |
Występuje, gdy kontrolka serwera wiąże się ze źródłem danych. (Odziedziczone po Control) |
Disposed |
Występuje, gdy kontrolka serwera jest zwalniana z pamięci, która jest ostatnim etapem cyklu życia kontroli serwera po zażądaniu strony ASP.NET. (Odziedziczone po Control) |
Init |
Występuje, gdy kontrolka serwera jest inicjowana, co jest pierwszym krokiem w jego cyklu życia. (Odziedziczone po Control) |
Load |
Występuje, gdy kontrolka serwera jest ładowana do Page obiektu. (Odziedziczone po Control) |
PreRender |
Występuje po załadowaniu Control obiektu, ale przed renderowaniem. (Odziedziczone po Control) |
Unload |
Występuje, gdy kontrolka serwera jest zwalniana z pamięci. (Odziedziczone po Control) |
Jawne implementacje interfejsu
IAttributeAccessor.GetAttribute(String) |
Zwraca atrybut kontrolki sieci Web przy użyciu określonej nazwy. |
IAttributeAccessor.SetAttribute(String, String) |
Ustawia wartość określonego atrybutu kontrolki. |
IControlBuilderAccessor.ControlBuilder |
Aby uzyskać opis tego członka, zobacz ControlBuilder. (Odziedziczone po Control) |
IControlDesignerAccessor.GetDesignModeState() |
Aby uzyskać opis tego członka, zobacz GetDesignModeState(). (Odziedziczone po Control) |
IControlDesignerAccessor.SetDesignModeState(IDictionary) |
Aby uzyskać opis tego elementu członkowskiego, zobacz SetDesignModeState(IDictionary). (Odziedziczone po Control) |
IControlDesignerAccessor.SetOwnerControl(Control) |
Aby uzyskać opis tego elementu członkowskiego, zobacz SetOwnerControl(Control). (Odziedziczone po Control) |
IControlDesignerAccessor.UserData |
Aby uzyskać opis tego elementu członkowskiego, zobacz UserData. (Odziedziczone po Control) |
IDataBindingsAccessor.DataBindings |
Aby uzyskać opis tego elementu członkowskiego, zobacz DataBindings. (Odziedziczone po Control) |
IDataBindingsAccessor.HasDataBindings |
Aby uzyskać opis tego elementu członkowskiego, zobacz HasDataBindings. (Odziedziczone po Control) |
IExpressionsAccessor.Expressions |
Aby uzyskać opis tego elementu członkowskiego, zobacz Expressions. (Odziedziczone po Control) |
IExpressionsAccessor.HasExpressions |
Aby uzyskać opis tego elementu członkowskiego, zobacz HasExpressions. (Odziedziczone po Control) |
IParserAccessor.AddParsedSubObject(Object) |
Aby uzyskać opis tego elementu członkowskiego, zobacz AddParsedSubObject(Object). (Odziedziczone po Control) |
Metody rozszerzania
FindDataSourceControl(Control) |
Zwraca źródło danych skojarzone z kontrolką danych dla określonej kontrolki. |
FindFieldTemplate(Control, String) |
Zwraca szablon pola dla określonej kolumny w kontenerze nazewnictwa określonej kontrolki. |
FindMetaTable(Control) |
Zwraca obiekt metatable dla kontrolki zawierającej dane. |