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 powrotu.
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 pokazano różne zastosowania kontrolki UpdatePanel .
Kontrolki wewnątrz kontrolki UpdatePanel
W poniższym przykładzie pokazano, jak umieścić kontrolki wewnątrz UpdatePanel kontrolki w celu zmniejszenia migotania 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 ogłaszanie zwrotne.
<%@ 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 tego zamówienia 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ę GridViewUpdatePanel wewnątrz kontrolki, ustawienie GridView właściwości kontrolki EnableSortingAndPagingCallbacks na true
wartość nie jest obsługiwane. Jednak ponieważ kontrolka UpdatePanel obsługuje asynchroniczne ogłaszanie zwrotne, wszelkie ogłaszania zwrotne, które zmieniają GridView kontrolkę 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 Button w 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ęściowego strony. Renderowanie częściowe strony zmniejsza potrzebę synchronicznych ogłaszania zwrotnego i pełnych aktualizacji stron, gdy trzeba zaktualizować tylko część strony. Renderowanie częściowej strony poprawia środowisko użytkownika, ponieważ zmniejsza migotanie ekranu występujące podczas ogłaszania zwrotnego na pełnej stronie i poprawia interakcyjność strony internetowej.
Odświeżanie zawartości UpdatePanel
Po włączeniu renderowania częściowego strony kontrolka może wykonać ogłaszanie zwrotne, które aktualizuje całą stronę lub asynchroniczne ogłaszanie zwrotne, które aktualizuje zawartość co najmniej jednej UpdatePanel kontrolki. To, czy kontrolka powoduje asynchroniczne ogłaszanie zwrotne i aktualizuje kontrolkę UpdatePanel , zależy od następujących elementów:
UpdateMode Jeśli właściwość kontrolki UpdatePanel jest ustawiona na Alwayswartość , UpdatePanel zawartość kontrolki jest aktualizowana na każdym ogłaszaniu zwrotnym pochodzącym ze strony. Obejmuje to asynchroniczne ogłaszanie zwrotne z kontrolek, które znajdują się wewnątrz innych UpdatePanel kontrolek i ogłaszanie zwrotne z kontrolek, które nie znajdują się wewnątrz UpdatePanel kontrolek.
Jeśli właściwość jest ustawiona UpdateMode na Conditionalwartość , UpdatePanel zawartość kontrolki jest aktualizowana w następujących okolicznościach:
Po jawnym wywołaniu Update metody kontrolki UpdatePanel .
Gdy kontrolka UpdatePanel jest zagnieżdżona wewnątrz innej UpdatePanel kontrolki, a panel nadrzędny jest aktualizowany.
Gdy ogłaszanie zwrotne jest spowodowane 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 na zewnątrz kontrolki UpdatePanel , z którą jest skojarzony wyzwalacz.Gdy właściwość jest ustawiona ChildrenAsTriggers na
true
, a kontrolka podrzędna kontrolki UpdatePanel powoduje ogłaszanie zwrotne. Kontrolki podrzędne zagnieżdżonych UpdatePanel kontrolek nie powodują aktualizacji zewnętrznej UpdatePanel kontrolki, chyba że są jawnie zdefiniowane jako wyzwalacze.
Kombinacja ustawienia ChildrenAsTriggers właściwości na false
i UpdateMode właściwości Always na jest niedozwolona i zgłosi wyjątek.
Gdy kontrolka UpdatePanel wykonuje wpis asynchroniczny, dodaje niestandardowy nagłówek HTTP. Niektóre serwery proxy usuwają ten niestandardowy nagłówek HTTP. W takim przypadku serwer obsługuje żądanie jako regularne ogłaszanie zwrotne, 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
Do niezależnego aktualizowania wielu regionów strony można użyć wielu UpdatePanel kontrolek. 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. W przypadku kolejnych asynchronicznych ogłaszania zwrotnego zawartość każdej UpdatePanel kontrolki może nie zostać zaktualizowana 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 wzorca i zawartości.
Zagnieżdżone wewnątrz innych UpdatePanel kontrolek.
Wewnątrz szablonowych kontrolek, 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 podobne do wyzwalacza, możesz zarejestrować kontrolkę na stronie jako asynchroniczną kontrolkę po powrocie zwrotnej. W tym celu należy wywołać metodę RegisterAsyncPostBackControl kontrolki ScriptManager . Następnie można utworzyć procedurę obsługi zdarzeń, która jest uruchamiana w odpowiedzi na asynchroniczny postback, a następnie w procedurze obsługi wywołaj Update metodę kontrolki UpdatePanel .
Stosowanie stylów
Kontrolka UpdatePanel akceptuje atrybuty expando. Pozwala to ustawić klasę CSS dla elementów HTML renderowanych przez kontrolki. Na przykład możesz 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, gdy strona zostanie uruchomiona:
<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 kolekcję atrybutów kaskadowego arkusza stylów (CSS) 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 ogłaszanie zwrotne z natychmiastowych kontrolek podrzędnych kontrolki UpdatePanel 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 definiujący zawartość kontrolki UpdatePanel . |
ContentTemplateContainer |
Pobiera obiekt kontrolny, do którego można programowo dodawać kontrolki podrzędne. |
Context |
HttpContext Pobiera obiekt skojarzony z kontrolką serwera dla bieżącego żądania sieci Web. (Odziedziczone po Control) |
Controls |
ControlCollection Pobiera obiekt, który zawiera kontrolki podrzędne dla kontrolkiUpdatePanel. |
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 ogłaszania zwrotnego. |
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 obiektu 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 pozwala zapisać i przywrócić stan widoku kontroli serwera w wielu żądaniach dla tej samej strony. (Odziedziczone po Control) |
ViewStateIgnoresCase |
Pobiera wartość wskazującą, czy StateBag obiekt nie uwzględnia wielkości liter. (Odziedziczone po Control) |
ViewStateMode |
Pobiera lub ustawia tryb wyświetlania 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ęściowe 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 UpdatePanel i wywołuje metodęInitialize(), gdy renderowanie częściowej strony nie jest włączone. |
OnPreRender(EventArgs) |
PreRender Zgłasza zdarzenie. |
OnUnload(EventArgs) |
Wywołuje 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 można je przechowywać w obiekcie kontrolki 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
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. |
Dotyczy
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla