UpdatePanelUpdateMode Enum
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt de mogelijke updatemodi voor de inhoud in een UpdatePanel besturingselement.
public enum class UpdatePanelUpdateMode
public enum UpdatePanelUpdateMode
type UpdatePanelUpdateMode =
Public Enum UpdatePanelUpdateMode
- Overname
Velden
| Name | Waarde | Description |
|---|---|---|
| Always | 0 | De inhoud van het UpdatePanel besturingselement wordt bijgewerkt voor alle postbacks die afkomstig zijn van de pagina. Dit omvat asynchrone postbacks. |
| Conditional | 1 | Hiermee geeft u een aantal voorwaarden op waaronder de inhoud van het UpdatePanel besturingselement wordt bijgewerkt. Zie de sectie Opmerkingen voor meer informatie. |
Voorbeelden
In het volgende voorbeeld worden twee UpdatePanel besturingselementen declareren. In het eerste deelvenster wordt de UpdatePanel.UpdateMode eigenschap ingesteld op Conditional. Het tweede deelvenster is UpdatePanel.UpdateMode standaard ingesteld Always op. Een knop buiten beide panelen wordt geregistreerd als een asynchroon postback-besturingselement met behulp van de ScriptManager.RegisterAsyncPostBackControl methode. In de klik-gebeurtenis-handler van de knop wordt de UpdatePanel.Update methode van het eerste deelvenster aangeroepen als er meer dan vijf seconden zijn verstreken sinds de laatste update. In dit scenario wordt de inhoud van het deelvenster alleen bijgewerkt als de laatste update van het deelvenster meer dan vijf seconden geleden was. De inhoud van het tweede deelvenster wordt altijd bijgewerkt.
<%@ 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>
Opmerkingen
De UpdatePanelUpdateMode opsomming wordt door de UpdatePanel.UpdateMode eigenschap gebruikt en definieert de mogelijke updatemodi voor de inhoud van een UpdatePanel besturingselement. Het UpdatePanel besturingselement vereist dat de ScriptManager.EnablePartialRendering eigenschap voor true het weergeven van gedeeltelijke pagina's plaatsvindt.
De standaardwaarde van de UpdatePanel.UpdateMode eigenschap is Always.
Als het UpdatePanel besturingselement zich in een ander UpdatePanel besturingselement bevindt en het bovenliggende deelvenster wordt bijgewerkt, wordt het geneste paneel ook bijgewerkt, ongeacht de UpdateMode eigenschapswaarde.
De Conditional waarde werkt de inhoud van het UpdatePanel besturingselement onder de volgende voorwaarden bij:
De UpdatePanel.Update methode wordt expliciet aangeroepen.
Een besturingselement wordt gedefinieerd als een trigger met behulp van de UpdatePanel.Triggers eigenschap en veroorzaakt een terugpost. In dit scenario is het besturingselement een expliciete trigger voor het bijwerken van de inhoud van het deelvenster. Het triggerbeheer kan zich binnen of buiten het UpdatePanel besturingselement bevinden dat de trigger definieert.
De UpdatePanel.ChildrenAsTriggers eigenschap is ingesteld op
trueen een onderliggend besturingselement van het UpdatePanel besturingselement veroorzaakt een terugpost. In dit scenario zijn onderliggende besturingselementen van het UpdatePanel besturingselement impliciete triggers voor het bijwerken van het deelvenster. Onderliggende besturingselementen van geneste UpdatePanel besturingselementen zorgen er niet voor dat het buitenste UpdatePanel besturingselement wordt bijgewerkt, tenzij ze expliciet zijn gedefinieerd als triggers.