UpdatePanel.UpdateMode Vlastnost
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í.
Získá nebo nastaví hodnotu, která označuje, kdy UpdatePanel je obsah ovládacího prvku aktualizován.
public:
property System::Web::UI::UpdatePanelUpdateMode UpdateMode { System::Web::UI::UpdatePanelUpdateMode get(); void set(System::Web::UI::UpdatePanelUpdateMode value); };
public System.Web.UI.UpdatePanelUpdateMode UpdateMode { get; set; }
member this.UpdateMode : System.Web.UI.UpdatePanelUpdateMode with get, set
Public Property UpdateMode As UpdatePanelUpdateMode
Hodnota vlastnosti
Jedna z UpdatePanelUpdateMode hodnot. Výchozí formát je Always.
Výjimky
Zadaný typ není jednou z UpdatePanelUpdateMode hodnot.
Příklady
Následující příklad deklaruje dva UpdatePanel ovládací prvky. Na prvním panelu je vlastnost nastavená UpdateMode na Conditional. Na druhém panelu UpdateMode je nastavená hodnota na Always. Tlačítko mimo oba panely se zaregistruje jako asynchronní ovládací prvek zpětného volání RegisterAsyncPostBackControl metody ScriptManager ovládacího prvku. V obslužné rutině Click
události tlačítka se volá metoda prvního panelu, Update pokud od poslední aktualizace uplynulo více než pět sekund. V tomto scénáři se obsah panelu aktualizuje pouze v případě, že poslední aktualizace panelu proběhla 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
Pokud ovládací prvek UpdatePanel není uvnitř jiného UpdatePanel ovládacího prvku, aktualizuje se panel podle nastavení UpdateMode vlastností a ChildrenAsTriggers společně s kolekcí aktivačních událostí. Pokud je ovládací UpdatePanel prvek uvnitř jiného UpdatePanel ovládacího prvku, podřízený panel se automaticky aktualizuje při aktualizaci nadřazeného panelu.
Obsah ovládacího prvku UpdatePanel se aktualizuje za následujících okolností:
UpdateMode Pokud je vlastnost nastavená na Always, UpdatePanel obsah ovládacího prvku se aktualizuje při každém zpětném odeslání, které pochází z libovolného místa na stránce. To zahrnuje asynchronní postbacky z ovládacích prvků v jiných UpdatePanel ovládacích prvcích a zpět z ovládacích prvků, které nejsou uvnitř UpdatePanel ovládacích prvků.
UpdatePanel Pokud je ovládací prvek vnořený do jiného UpdatePanel ovládacího prvku a nadřazený panel aktualizací se aktualizuje.
UpdateMode Pokud je vlastnost nastavená na Conditionala nastane jedna z následujících podmínek:
Metodu Update ovládacího prvku UpdatePanel zavoláte explicitně.
Postback je způsoben ovládacím prvku definovaným jako trigger pomocí Triggers vlastnosti UpdatePanel ovládacího prvku. V tomto scénáři ovládací prvek explicitně aktivuje aktualizaci obsahu panelu. Ovládací prvek může být uvnitř nebo vně UpdatePanel ovládacího prvku, který definuje trigger.
Vlastnost ChildrenAsTriggers je nastavena na
true
a podřízený ovládací prvek UpdatePanel ovládacího prvku způsobí postback. Podřízený ovládací prvek vnořeného UpdatePanel ovládacího prvku nezpůsobí aktualizaci vnějšího UpdatePanel ovládacího prvku, pokud není explicitně definován jako trigger.