UpdatePanelUpdateMode Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje možné režimy aktualizace obsahu v ovládacím prvku UpdatePanel.
public enum class UpdatePanelUpdateMode
public enum UpdatePanelUpdateMode
type UpdatePanelUpdateMode =
Public Enum UpdatePanelUpdateMode
- Dědičnost
Pole
| Name | Hodnota | Description |
|---|---|---|
| Always | 0 | UpdatePanel Obsah ovládacího prvku se aktualizuje pro všechny postbacky, které pocházejí ze stránky. To zahrnuje asynchronní postbacky. |
| Conditional | 1 | Určuje řadu podmínek, za kterých je obsah UpdatePanel ovládacího prvku aktualizován. Další informace najdete v části Poznámky. |
Příklady
Následující příklad deklaruje dva UpdatePanel ovládací prvky. První panel nastaví UpdatePanel.UpdateMode vlastnost na Conditional. Druhý panel je UpdatePanel.UpdateMode ve výchozím nastavení nastavený na Always . Tlačítko mimo oba panely je registrováno jako asynchronní postback ovládací prvek pomocí ScriptManager.RegisterAsyncPostBackControl metody. V obslužné rutině události kliknutí na tlačítko je volána metoda prvního panelu, UpdatePanel.Update pokud uplynulo více než pět sekund od poslední aktualizace. V tomto scénáři se obsah panelu aktualizuje jenom v případě, že poslední aktualizace panelu byla před více než pěti sekundami. Obsah druhého panelu se vždy aktualizuje.
<%@ 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 DateTime LastUpdate
{
get
{
return (DateTime)(ViewState["LastUpdate"] ?? DateTime.Now);
}
set
{
ViewState["LastUpdate"] = value;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
if (LastUpdate.AddSeconds(5.0) < DateTime.Now)
{
UpdatePanel1.Update();
LastUpdate = DateTime.Now;
}
}
protected void Page_Load(object sender, EventArgs e)
{
ScriptManager1.RegisterAsyncPostBackControl(Button1);
if (!IsPostBack)
{
LastUpdate = DateTime.Now;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>UpdatePanelUpdateMode Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1"
runat="server" />
<asp:Panel ID="Panel1"
GroupingText="UpdatePanel1"
runat="server">
<asp:UpdatePanel ID="UpdatePanel1"
UpdateMode="Conditional"
runat="server">
<ContentTemplate>
<p>
The content in this UpdatePanel only refreshes if five or more
seconds have passed since the last refresh and the button in
UpdatePanel2 was clicked. The time is checked
server-side and the UpdatePanel.Update() method is called. Last
updated: <strong>
<%= LastUpdate.ToString() %>
</strong>
</p>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Panel>
<asp:Panel ID="Panel2"
GroupingText="UpdatePanel2"
runat="server">
<asp:UpdatePanel ID="UpdatePanel2"
runat="server">
<ContentTemplate>
<p>
This UpdatePanel always refreshes if the button is clicked.
Last updated: <strong>
<%= DateTime.Now.ToString() %>
</strong>
</p>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Panel>
<asp:Button ID="Button1" Text="Button1" runat="server" OnClick="Button1_Click" />
</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 Property LastUpdate() As DateTime
Get
If ViewState("LastUpdate") IsNot Nothing Then
Return ViewState("LastUpdate")
Else : Return DateTime.Now()
End If
End Get
Set(ByVal Value As DateTime)
ViewState("LastUpdate") = Value
End Set
End Property
Protected Sub Button1_Click(ByVal Sender As Object, ByVal E As EventArgs)
If (LastUpdate.AddSeconds(5.0) < DateTime.Now) Then
UpdatePanel1.Update()
LastUpdate = DateTime.Now
End If
End Sub
Protected Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs)
ScriptManager1.RegisterAsyncPostBackControl(Button1)
If Not IsPostBack Then
LastUpdate = DateTime.Now
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>UpdatePanelUpdateMode Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1"
runat="server" />
<asp:Panel ID="Panel1"
GroupingText="UpdatePanel1"
runat="server">
<asp:UpdatePanel ID="UpdatePanel1"
runat="server"
UpdateMode="Conditional">
<ContentTemplate>
<p>
The content in this UpdatePanel only refreshes if five or more
seconds have passed since the last refresh and the button in
UpdatePanel2 was clicked. The time is checked
server-side and the UpdatePanel.Update() method is called. Last
updated: <strong>
<%= LastUpdate.ToString() %>
</strong>
</p>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Panel>
<asp:Panel ID="Panel2"
GroupingText="UpdatePanel2"
runat="server">
<asp:UpdatePanel ID="UpdatePanel2"
runat="server">
<ContentTemplate>
<p>
This UpdatePanel always refreshes if the button is clicked.
Last updated: <strong>
<%= DateTime.Now.ToString() %>
</strong>
</p>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Panel>
<asp:Button ID="Button1" Text="Button1" runat="server" OnClick="Button1_Click" />
</div>
</form>
</body>
</html>
Poznámky
Výčet UpdatePanelUpdateMode je používán UpdatePanel.UpdateMode vlastností a definuje možné režimy aktualizace pro obsah UpdatePanel ovládacího prvku. Ovládací UpdatePanel prvek vyžaduje, aby ScriptManager.EnablePartialRendering vlastnost byla true určena k částečnému vykreslování stránky.
Výchozí hodnota UpdatePanel.UpdateMode vlastnosti je Always.
UpdatePanel Pokud je ovládací prvek uvnitř jiného UpdatePanel ovládacího prvku a nadřazený panel se aktualizuje, vnořený panel se také aktualizuje bez UpdateMode ohledu na hodnotu vlastnosti.
Hodnota Conditional aktualizuje obsah UpdatePanel ovládacího prvku za následujících podmínek:
Metoda UpdatePanel.Update je volána explicitně.
Ovládací prvek je definován jako trigger pomocí UpdatePanel.Triggers vlastnosti a způsobuje postback. V tomto scénáři je ovládací prvek explicitním triggerem pro aktualizaci obsahu panelu. Ovládací prvek aktivační události může být uvnitř nebo mimo UpdatePanel ovládací prvek, který definuje aktivační událost.
Vlastnost je nastavena UpdatePanel.ChildrenAsTriggers
truea podřízený ovládací prvek ovládacího prvku UpdatePanel způsobí postback. V tomto scénáři jsou podřízené ovládací prvky UpdatePanel ovládacího prvku implicitní triggery pro aktualizaci panelu. Podřízené ovládací prvky vnořených UpdatePanel ovládacích prvků nezpůsobí aktualizaci vnějšího UpdatePanel ovládacího prvku, pokud nejsou explicitně definovány jako triggery.