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í hodnota 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 nastavena UpdateMode na Conditionalhodnotu . Na druhém panelu UpdateMode je nastavena hodnota Always. Tlačítko mimo oba panely je registrováno jako asynchronní postback řízení voláním RegisterAsyncPostBackControl metody ScriptManager ovládacího prvku. V obslužné rutině události tlačítka Click se volá metoda prvního panelu, 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
UpdatePanel Pokud ovládací prvek není uvnitř jiného UpdatePanel ovládacího prvku, panel se aktualizuje podle nastavení UpdateMode a ChildrenAsTriggers vlastností společně s kolekcí aktivačních událostí. UpdatePanel Když je ovládací prvek uvnitř jiného UpdatePanel ovládacího prvku, po aktualizaci nadřazeného panelu se podřízený panel automaticky aktualizuje.
UpdatePanel Obsah ovládacího prvku se aktualizuje za následujících okolností:
UpdateMode Pokud je vlastnost nastavena na Always, UpdatePanel obsah ovládacího prvku se aktualizuje na každém postbacku, který pochází z libovolného místa na stránce. To zahrnuje asynchronní postbacky z ovládacích prvků uvnitř jiných UpdatePanel ovládacích prvků a postbacky 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ý aktualizační panel se aktualizuje.
UpdateMode Pokud je vlastnost nastavena na Conditionala nastane jedna z následujících podmínek:
Metodu UpdateUpdatePanel ovládacího prvku volá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 mimo UpdatePanel ovládací prvek, který definuje aktivační událost.
Vlastnost je nastavena ChildrenAsTriggers
truea podřízený ovládací prvek ovládacího prvku UpdatePanel 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.