UpdatePanel.UpdateMode Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen Wert ab, der angibt, dass der Inhalt eines UpdatePanel-Steuerelements aktualisiert wird, oder legt diesen fest.
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
Eigenschaftswert
Einer der UpdatePanelUpdateMode-Werte. Der Standardwert ist Always.
Ausnahmen
Der angegebene Typ ist keiner der UpdatePanelUpdateMode-Werte.
Beispiele
Im folgenden Beispiel werden zwei UpdatePanel Steuerelemente deklariert. Im ersten Bereich ist die UpdateMode -Eigenschaft auf Conditionalfestgelegt. Im zweiten Bereich UpdateMode ist auf Alwaysfestgelegt. Eine Schaltfläche außerhalb beider Bereiche wird als asynchrones Postback-Steuerelement registriert, indem die RegisterAsyncPostBackControl -Methode des Steuerelements ScriptManager aufgerufen wird. Im Ereignishandler der Schaltfläche wird die Update Methode des ersten Bereichs Click
aufgerufen, wenn seit der letzten Aktualisierung mehr als fünf Sekunden vergangen sind. In diesem Szenario wird der Inhalt des Bereichs nur aktualisiert, wenn die letzte Panelaktualisierung mehr als fünf Sekunden zurückliegt. Der Inhalt des zweiten Bereichs wird immer aktualisiert.
<%@ 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>
Hinweise
Wenn sich ein Steuerelement nicht in einem UpdatePanel anderen UpdatePanel Steuerelement befindet, wird der Bereich entsprechend den Einstellungen der UpdateMode Eigenschaften und ChildrenAsTriggers sowie der Auflistung der Trigger aktualisiert. Wenn sich ein Steuerelement in einem UpdatePanel anderen UpdatePanel Steuerelement befindet, wird der untergeordnete Bereich automatisch aktualisiert, wenn der übergeordnete Bereich aktualisiert wird.
Der Inhalt eines Steuerelements UpdatePanel wird unter folgenden Umständen aktualisiert:
Wenn die UpdateMode -Eigenschaft auf Alwaysfestgelegt ist, wird der UpdatePanel Inhalt des Steuerelements bei jedem Postback aktualisiert, das von einer beliebigen Stelle auf der Seite stammt. Dies umfasst asynchrone Postbacks von Steuerelementen in anderen UpdatePanel Steuerelementen und Postbacks von Steuerelementen, die sich nicht innerhalb UpdatePanel von Steuerelementen befinden.
Wenn das UpdatePanel Steuerelement in einem anderen UpdatePanel Steuerelement geschachtelt ist und der übergeordnete Updatebereich aktualisiert wird.
Wenn die UpdateMode -Eigenschaft auf Conditionalfestgelegt ist und eine der folgenden Bedingungen auftritt:
Sie rufen die Update -Methode des -Steuerelements UpdatePanel explizit auf.
Das Postback wird durch ein Steuerelement verursacht, das als Trigger definiert ist, indem die Triggers -Eigenschaft des Steuerelements UpdatePanel verwendet wird. In diesem Szenario löst das Steuerelement explizit eine Aktualisierung des Panelinhalts aus. Das Steuerelement kann sich innerhalb oder außerhalb des Steuerelements befinden, das UpdatePanel den Trigger definiert.
Die ChildrenAsTriggers -Eigenschaft ist auf
true
festgelegt, und ein untergeordnetes Steuerelement des UpdatePanel Steuerelements bewirkt ein Postback. Ein untergeordnetes Steuerelement eines geschachtelten UpdatePanel Steuerelements bewirkt keine Aktualisierung des äußeren UpdatePanel Steuerelements, es sei denn, es ist explizit als Trigger definiert.