Freigeben über


Übersicht über das Teilrendering von Seiten

Aktualisiert: November 2007

Durch Teilrendering einer Seite muss als Reaktion auf ein Postback nicht mehr die gesamte Seite aktualisiert werden. Stattdessen werden nur einzelne, geänderte Bereiche einer Seite aktualisiert. Im Ergebnis wird Benutzern nicht mehr bei jedem Postback eine Aktualisierung der gesamten Seite angezeigt und damit die Interaktion mit der Webseite flüssiger. Mit ASP.NET können Sie das Teilrendering von Seiten zu neuen oder bereits vorhandenen ASP.NET-Webseiten hinzufügen, ohne dazu ein Clientskript schreiben zu müssen.

Dieses Thema enthält folgende Abschnitte:

  • Szenarien

  • Features

  • Hintergrund

  • Codebeispiele

  • Klassenreferenz

Szenarien

Sie können vorhandene ASP.NET-Anwendungen erweitern und neue entwickeln, die AJAX-Funktionen (Asynchronous JavaScript and XML) umfassen. Sie können AJAX-Features für folgende Aufgaben verwenden:

  • Verbessern der Benutzerfreundlichkeit bei Webseiten, die aufwändiger gestaltet sind, stärker auf Benutzeraktionen reagieren und sich wie traditionelle Clientanwendungen verhalten.

  • Reduzieren von ganzseitigen Aktualisierungen und vermeiden von Flackern beim Seitenaufbau.

  • Ermöglichen einer browserübergreifenden Kompatibilität, ohne Clientskript schreiben zu müssen.

  • Durchführen einer Client/Server-Kommunikation im AJAX-Stil, ohne Clientskript schreiben zu müssen.

  • Verwenden von Steuerelementen und Komponenten aus dem ASP.NET-AJAX Control Toolkit.

  • Entwickeln von benutzerdefinierten ASP.NET-AJAX-Steuerelementen.

Teilrenderingsfeatures

Für das Teilrendering von Seiten sind Serversteuerelemente in ASP.NET und Clientfunktionen in der Microsoft AJAX Library erforderlich. Die Microsoft AJAX Library muss nicht für das Teilrendering von Seiten verwendet werden, da diese Funktion automatisch bereitgestellt wird, wenn Sie die ASP.NET-AJAX-Serversteuerelemente verwenden. Sie können jedoch die in der Clientbibliothek verfügbaren APIs für zusätzliche AJAX-Funktionen verwenden.

Im Folgenden finden Sie die wichtigsten Features von ASP.NET, die das Teilrendering von Seiten unterstützen:

  • Ein deklaratives Modell, dass wie ASP.NET-Serversteuerelemente funktioniert. In vielen Szenarien können Sie das Teilrendering von Seiten allein durch die Verwendung deklarativen Markups angeben.

  • Serversteuerelemente, die die zugrunde liegenden Aufgaben ausführen, die für die Teilaktualisierungen von Seiten erforderlich sind. Dazu gehört das ScriptManager-Steuerelement und das UpdatePanel-Steuerelement.

  • Integration zwischen ASP.NET-AJAX-Serversteuerelementen und der Microsoft AJAX Library für allgemeine Aufgaben. Zu diesen Aufgaben gehört, den Benutzern die Möglichkeit zum Abbruch eines Postbacks zu geben, eine benutzerdefinierte Fortschrittsmeldung bei einem asynchronen Postback anzuzeigen und festzulegen, wie parallele asynchrone Postbacks verarbeitet werden sollen.

  • Fehlerbehandlungsoptionen für das Teilrendering von Seiten, die Ihnen ein angepasstes Anzeigen von Fehlern im Browser ermöglichen.

  • Browserübergreifende Kompatibilität, die in die AJAX-Funktionalität von ASP.NET integriert ist. Durch die einfache Verwendung der Serversteuerelemente wird automatisch die geeignete Browserfunktion aufgerufen.

Hintergrund

Auf typischen mit ASP.NET-Webserversteuerelementen erstellten Webseiten werden Postbacks ausgeführt, die durch eine Benutzeraktion auf der Seite ausgelöst werden, beispielsweise durch Klicken auf eine Schaltfläche. Der Server reagiert darauf mit dem Rendern einer neuen Seite. Dabei werden häufig Steuerelemente sowie Texte, die sich zwischen Postbacks nicht geändert haben, erneut gerendert.

Durch das Teilrendering von Seiten können einzelne Bereiche einer Seite asynchron aktualisiert und so die Reaktionszeiten der Seite bei Benutzereingaben verkürzt werden. Sie können das Teilrendering von Seiten mithilfe von ASP.NET-AJAX-Webserversteuerelementen implementieren und wahlweise Clientskript schreiben, das die APIs der Microsoft AJAX Library verwendet.

Serversteuerelemente für die Teilaktualisierungen von Seiten

Um AJAX-Funktionen zu ASP.NET-Webseiten hinzuzufügen, ermitteln Sie die jeweiligen Bereiche einer Seite, die Sie aktualisieren möchten. Anschließend speichern Sie den Inhalt dieser Bereiche in UpdatePanel-Steuerelementen. Der Inhalt eines UpdatePanel-Steuerelements kann aus HTML oder anderen ASP.NET-Steuerelementen bestehen. UpdatePanel-Steuerelemente werden der Seite wie beliebige andere Steuerelemente hinzugefügt. In Visual Studio können Sie diese beispielsweise aus der Toolbox auf die Webseite ziehen, oder Sie fügen sie mithilfe von deklarativem Markup zur Seite hinzu. Das folgende Beispiels zeigt das Markup für ein UpdatePanel-Steuerelement.

<asp:UpdatePanel ID="UpdatePanel1" >
    <ContentTemplate>
        <!-- Place updatable markup and controls here. -->
    </ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpdatePanel1" >
    <ContentTemplate>
        <!-- Place updatable markup and controls here. -->
    </ContentTemplate>
</asp:UpdatePanel>

Standardmäßig werden durch Postbacks, die aus Steuerelementen innerhalb des UpdatePanel (untergeordnete Steuerelemente) stammen, automatisch asynchrone Postbacks ausgeführt und eine Teilaktualisierung ausgelöst. Sie können ebenfalls festlegen, dass durch Steuerelemente außerhalb des UpdatePanel ein asynchrones Postback ausgeführt und die Inhalte des UpdatePanel-Steuerelements aktualisiert werden. Ein Steuerelement, das ein asynchrones Postback auslöst, wird als Trigger bezeichnet. Weitere Informationen zu Triggern finden Sie unter Erstellen einer einfachen ASP.NET-Seite mit mehreren UpdatePanel-Steuerelementen.

Ein asynchrones Postback verhält sich weitgehend wie ein synchrones Postback. Alle Lebenszyklusereignisse der Serverseite treten auf und Ansichtszustand sowie Formulardaten bleiben erhalten. In der Renderingphase werden jedoch nur die Inhalte des UpdatePanel-Steuerelements an den Browser gesendet. Der Rest der Seite bleibt unverändert.

Zur Unterstützung des Teilrenderings von Seiten müssen Sie ein ScriptManager-Steuerelement auf der Seite ablegen. Das ScriptManager-Steuerelement verfolgt sämtliche UpdatePanels sowie deren Trigger auf der Seite. Durch dieses Steuerelement wird das Teilrenderingverhalten für Seiten koordiniert und festgelegt, welche Bereiche der Seite nach einem asynchronen Postback gerendert werden.

Im folgenden Beispiel wird ein UpdatePanel-Steuerelement dargestellt, dessen Inhalte bei jedem Postback aktualisiert werden, wenn dieses innerhalb des Bereichs ausgelöst wurde.

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script >

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head >
    <title>Partial-Page Rendering Server-Side Syntax</title>
</head>
<body>
    <form id="form1" >
    <div>
      <asp:ScriptManager ID="ScriptManager1"  />
      <asp:UpdatePanel ID="UpdatePanel1" >
      <ContentTemplate>
        <fieldset>
        <legend>UpdatePanel</legend>
        Content to update incrementally without a full
        page refresh. 
        <br />
        Last update:  <%=DateTime.Now.ToString() %>
        <br />
        <asp:Calendar ID="Calendar" />
        </fieldset>
      </ContentTemplate>
      </asp:UpdatePanel>
      <script type="text/javascript" language="javascript">
      var prm = Sys.WebForms.PageRequestManager.getInstance();
      prm.add_pageLoaded(PageLoadedEventHandler);
      function PageLoadedEventHandler() {
         // custom script
      }
      </script>
    </div>
    </form>
</body>
</html>
<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script >

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head >
    <title>Partial-Page Rendering Server-Side Syntax</title>
</head>
<body>
    <form id="form1" >
    <div>
      <asp:ScriptManager ID="ScriptManager1"  />
      <asp:UpdatePanel ID="UpdatePanel1" >
      <ContentTemplate>
        <fieldset>
        <legend>UpdatePanel</legend>
        Content to update incrementally without a full
        page refresh. 
        <br />
        Last update:  <%=DateTime.Now.ToString() %>
        <br />
        <asp:Calendar ID="Calendar" />
        </fieldset>
      </ContentTemplate>
      </asp:UpdatePanel>
      <script type="text/javascript" language="javascript">
      var prm = Sys.WebForms.PageRequestManager.getInstance();
      prm.add_pageLoaded(PageLoadedEventHandler);
      function PageLoadedEventHandler() {
         // custom script
      }
      </script>
    </div>
    </form>
</body>
</html>

Weitere Beispiele zum Verwenden von UpdatePanel-Steuerelementen zum Aktivieren des Teilrenderings von Seiten finden Sie in den aufgeführten Themen im Abschnitt Codebeispiele.

Verwenden von Clientskript für die Teilaktualisierungen von Seiten

Die ECMAScript (JavaScript) PageRequestManager-Klasse in der Microsoft AJAX Library unterstützt Teilaktualisierungen von Seiten. Dieses Skript wird im Browser ausgeführt, um die Reaktion auf asynchrone Postbacks zu verwalten und die Inhalte in den einzelnen Bereichen zu aktualisieren. Zum Aktivieren dieser Funktionen sind keine Maßnahmen erforderlich. Dies geschieht automatisch, wenn mindestens ein UpdatePanel-Steuerelement und ein ScriptManager-Steuerelement zur Seite hinzugefügt werden.

Sie können auch JavaScript und die PageRequestManager-Klasse verwenden, um Teilaktualisierungen von Seiten auf einer Seite einzurichten. Beispielsweise können Sie ein Skript schreiben, durch das bei mehreren anstehenden Postbacks ein bestimmtes asynchrones Postback Vorrang erhält. Sie können Benutzern auch die Möglichkeit geben, Postbacks während der Ausführung abzubrechen.

Das folgende Beispiel enthält ein Clientskript, durch das ein Ereignishandler zur Verfügung gestellt wird, der nach dem Laden der Seite aufgerufen wird.

<script type="text/javascript" language="javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_pageLoaded(PageLoadedEventHandler);
function PageLoadedEventHandler() {
   // custom script
}
</script>
<script type="text/javascript" language="javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_pageLoaded(PageLoadedEventHandler);
function PageLoadedEventHandler() {
   // custom script
}
</script>

Weitere Informationen zur Verwendung der Microsoft AJAX Library zum Teilrendern von Seiten finden Sie unter Arbeiten mit PageRequestManager-Ereignissen und Übersicht über die ASP.NET-PageRequestManager-Klasse.

Aktivieren der Unterstützung für das Teilrendering von Seiten

Sie können das Teilrendering von Seiten mithilfe der EnablePartialRendering-Eigenschaft des ScriptManager-Steuerelements aktivieren bzw. deaktivieren. Darüber hinaus können Sie mithilfe der SupportsPartialRendering-Eigenschaft des ScriptManager-Steuerelements angeben, ob das Teilrendering von Seiten für eine bestimmte Seite unterstützt wird. Wenn für die SupportsPartialRendering-Eigenschaft keine Festlegung erfolgt und die EnablePartialRendering-Eigenschaft auf true (der Standardwert) gesetzt ist, wird mithilfe der Browserfähigkeiten ermittelt, ob das Teilrendering von Seiten unterstützt wird.

Wenn für eine bestimmte Seite das Teilrendering von Seiten nicht unterstützt wird, deaktiviert wurde oder in einem Browser nicht unterstützt wird, greift die Seite auf Fallbackverhalten zurück. Aktionen, durch die in der Regel ein asynchrones Postback ausgeführt würde, führen stattdessen ein synchrones Postback aus und aktualisieren die gesamte Seite. Sämtliche UpdatePanel-Steuerelemente auf der Seite werden ignoriert und die zugehörigen Inhalte werden so gerendert, als würden sie sich nicht in einem UpdatePanel-Steuerelement befinden.

Hinweis:

ASP.NET-Webseiten, die für herkömmliches Rendering konfiguriert wurden, unterstützen keine AJAX-Funktionen. Weitere Informationen finden Sie unter ASP.NET und XHTML.

Codebeispiele

Im folgenden Beispiel wird das Teilrendering von Seiten in Aktion veranschaulicht. Es gibt zwei UpdatePanel-Steuerelemente. Ein Steuerelement empfängt Benutzereingaben und das zweite zeigt eine Zusammenfassung der Eingabe an.

<%@ Page Language="VB" %>
<%@ Import Namespace="System.Collections.Generic" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" >
    <title>Enter New Employees</title>
    <script >
        Private EmployeeList As List(Of Employee)

        Protected Sub Page_Load()
            If Not IsPostBack Then
                EmployeeList = New List(Of Employee)
                EmployeeList.Add(New Employee(1, "Jump", "Dan"))
                EmployeeList.Add(New Employee(2, "Kirwan", "Yvette"))
                ViewState("EmployeeList") = EmployeeList
            Else
                EmployeeList = CType(ViewState("EmployeeList"), List(Of Employee))
            End If

            EmployeesGridView.DataSource = EmployeeList
            EmployeesGridView.DataBind()
        End Sub

        Protected Sub InsertButton_Click(ByVal sender As Object, ByVal e As EventArgs)
            If String.IsNullOrEmpty(FirstNameTextBox.Text) Or _
               String.IsNullOrEmpty(LastNameTextBox.Text) Then Return

            Dim employeeID As Integer = EmployeeList(EmployeeList.Count - 1).EmployeeID + 1

            Dim lastName As String = Server.HtmlEncode(FirstNameTextBox.Text)
            Dim firstName As String = Server.HtmlEncode(LastNameTextBox.Text)

            FirstNameTextBox.Text = String.Empty
            LastNameTextBox.Text = String.Empty

            EmployeeList.Add(New Employee(employeeID, lastName, firstName))
            ViewState("EmployeeList") = EmployeeList

            EmployeesGridView.DataBind()
            EmployeesGridView.PageIndex = EmployeesGridView.PageCount
        End Sub

        Protected Sub CancelButton_Click(ByVal sender As Object, ByVal e As EventArgs)
            FirstNameTextBox.Text = String.Empty
            LastNameTextBox.Text = String.Empty
        End Sub

        <Serializable()> _
        Public Class Employee
            Private _employeeID As Integer
            Private _lastName As String
            Private _firstName As String

            Public ReadOnly Property EmployeeID() As Integer
                Get
                    Return _employeeID
                End Get
            End Property

            Public ReadOnly Property LastName() As String
                Get
                    Return _lastName
                End Get
            End Property

            Public ReadOnly Property FirstName() As String
                Get
                    Return _firstName
                End Get
            End Property

            Public Sub New(ByVal employeeID As Integer, ByVal lastName As String, ByVal firstName As String)
                _employeeID = employeeID
                _lastName = lastName
                _firstName = firstName
            End Sub
        End Class

    </script>
</head>
<body>
    <form id="form1" >
    <div>
        &nbsp;</div>
        <asp:ScriptManager ID="ScriptManager1"  EnablePartialRendering="true" />
        <table>
            <tr>
                <td style="height: 206px" valign="top">
                    <asp:UpdatePanel ID="InsertEmployeeUpdatePanel"  UpdateMode="Conditional">
                        <ContentTemplate>
                          <table cellpadding="2" border="0" style="background-color:#7C6F57">
                            <tr>
                              <td><asp:Label ID="FirstNameLabel"  AssociatedControlID="FirstNameTextBox" 
                                             Text="First Name" ForeColor="White" /></td>
                              <td><asp:TextBox  ID="FirstNameTextBox" /></td>
                            </tr>
                            <tr>
                              <td><asp:Label ID="LastNameLabel"  AssociatedControlID="LastNameTextBox" 
                                             Text="Last Name" ForeColor="White" /></td>
                              <td><asp:TextBox  ID="LastNameTextBox" /></td>
                            </tr>
                            <tr>
                              <td></td>
                              <td>
                                <asp:LinkButton ID="InsertButton"  Text="Insert" OnClick="InsertButton_Click" ForeColor="White" />
                                <asp:LinkButton ID="Cancelbutton"  Text="Cancel" OnClick="CancelButton_Click" ForeColor="White" />
                              </td>
                            </tr>
                          </table>
                          <asp:Label  ID="InputTimeLabel"><%=DateTime.Now %></asp:Label>
                        </ContentTemplate>
                    </asp:UpdatePanel>
                </td>
                <td style="height: 206px" valign="top">
                    <asp:UpdatePanel ID="EmployeesUpdatePanel"  UpdateMode="Conditional">
                        <ContentTemplate>
                            <asp:GridView ID="EmployeesGridView"  BackColor="LightGoldenrodYellow" BorderColor="Tan"
                                BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None" AutoGenerateColumns="False">
                                <FooterStyle BackColor="Tan" />
                                <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
                                <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" />
                                <HeaderStyle BackColor="Tan" Font-Bold="True" />
                                <AlternatingRowStyle BackColor="PaleGoldenrod" />
                                <Columns>
                                    <asp:BoundField DataField="EmployeeID" HeaderText="Employee ID" />
                                    <asp:BoundField DataField="LastName" HeaderText="Last Name" />
                                    <asp:BoundField DataField="FirstName" HeaderText="First Name" />
                                </Columns>
                                <PagerSettings PageButtonCount="5" />
                            </asp:GridView>
                            <asp:Label  ID="ListTimeLabel"><%=DateTime.Now %></asp:Label>
                        </ContentTemplate>
                        <Triggers>
                            <asp:AsyncPostBackTrigger ControlID="InsertButton" EventName="Click" />
                        </Triggers>
                    </asp:UpdatePanel>
                </td>
            </tr>
        </table>
    </form>
</body>
</html>
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Collections.Generic" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head >
    <title>Enter New Employees</title>
    <script >
        private List<Employee> EmployeeList;

        protected void Page_Load()
        {
            if (!IsPostBack)
            {
                EmployeeList = new List<Employee>();
                EmployeeList.Add(new Employee(1, "Jump", "Dan"));
                EmployeeList.Add(new Employee(2, "Kirwan", "Yvette"));
                ViewState["EmployeeList"] = EmployeeList;
            }
            else
                EmployeeList = (List<Employee>)ViewState["EmployeeList"];

            EmployeesGridView.DataSource = EmployeeList;
            EmployeesGridView.DataBind();
        }

        protected void InsertButton_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(FirstNameTextBox.Text) ||
               String.IsNullOrEmpty(LastNameTextBox.Text)) { return; }

            int employeeID = EmployeeList[EmployeeList.Count-1].EmployeeID + 1;

            string lastName = Server.HtmlEncode(FirstNameTextBox.Text);
            string firstName = Server.HtmlEncode(LastNameTextBox.Text);

            FirstNameTextBox.Text = String.Empty;
            LastNameTextBox.Text = String.Empty;

            EmployeeList.Add(new Employee(employeeID, lastName, firstName));
            ViewState["EmployeeList"] = EmployeeList;

            EmployeesGridView.DataBind();
            EmployeesGridView.PageIndex = EmployeesGridView.PageCount;
        }

        protected void CancelButton_Click(object sender, EventArgs e)
        {
            FirstNameTextBox.Text = String.Empty;
            LastNameTextBox.Text = String.Empty;
        }

        [Serializable]
        public class Employee
        {
            private int _employeeID;
            private string _lastName;
            private string _firstName;

            public int EmployeeID
            {
                get { return _employeeID; }
            }

            public string LastName
            {
                get { return _lastName; }
            }

            public string FirstName
            {
                get { return _firstName; }
            }

            public Employee(int employeeID, string lastName, string firstName)
            {
                _employeeID = employeeID;
                _lastName = lastName;
                _firstName = firstName;
            }
        }

    </script>
</head>
<body>
    <form id="form1" >
    <div>
        &nbsp;</div>
        <asp:ScriptManager ID="ScriptManager1"  EnablePartialRendering="true" />
        <table>
            <tr>
                <td style="height: 206px" valign="top">
                    <asp:UpdatePanel ID="InsertEmployeeUpdatePanel"  UpdateMode="Conditional">
                        <ContentTemplate>
                          <table cellpadding="2" border="0" style="background-color:#7C6F57">
                            <tr>
                              <td><asp:Label ID="FirstNameLabel"  AssociatedControlID="FirstNameTextBox" 
                                             Text="First Name" ForeColor="White" /></td>
                              <td><asp:TextBox  ID="FirstNameTextBox" /></td>
                            </tr>
                            <tr>
                              <td><asp:Label ID="LastNameLabel"  AssociatedControlID="LastNameTextBox" 
                                             Text="Last Name" ForeColor="White" /></td>
                              <td><asp:TextBox  ID="LastNameTextBox" /></td>
                            </tr>
                            <tr>
                              <td></td>
                              <td>
                                <asp:LinkButton ID="InsertButton"  Text="Insert" OnClick="InsertButton_Click" ForeColor="White" />
                                <asp:LinkButton ID="Cancelbutton"  Text="Cancel" OnClick="CancelButton_Click" ForeColor="White" />
                              </td>
                            </tr>
                          </table>
                          <asp:Label  ID="InputTimeLabel"><%=DateTime.Now %></asp:Label>
                        </ContentTemplate>
                    </asp:UpdatePanel>
                </td>
                <td style="height: 206px" valign="top">
                    <asp:UpdatePanel ID="EmployeesUpdatePanel"  UpdateMode="Conditional">
                        <ContentTemplate>
                            <asp:GridView ID="EmployeesGridView"  BackColor="LightGoldenrodYellow" BorderColor="Tan"
                                BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None" AutoGenerateColumns="False">
                                <FooterStyle BackColor="Tan" />
                                <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
                                <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" />
                                <HeaderStyle BackColor="Tan" Font-Bold="True" />
                                <AlternatingRowStyle BackColor="PaleGoldenrod" />
                                <Columns>
                                    <asp:BoundField DataField="EmployeeID" HeaderText="Employee ID" />
                                    <asp:BoundField DataField="LastName" HeaderText="Last Name" />
                                    <asp:BoundField DataField="FirstName" HeaderText="First Name" />
                                </Columns>
                                <PagerSettings PageButtonCount="5" />
                            </asp:GridView>
                            <asp:Label  ID="ListTimeLabel"><%=DateTime.Now %></asp:Label>
                        </ContentTemplate>
                        <Triggers>
                            <asp:AsyncPostBackTrigger ControlID="InsertButton" EventName="Click" />
                        </Triggers>
                    </asp:UpdatePanel>
                </td>
            </tr>
        </table>
    </form>
</body>
</html>

Gewusst-wie-Themen und Themen mit exemplarischen Vorgehensweisen

Klassenreferenz

In der folgenden Tabelle werden die wichtigsten Serverklassen für das Teilrendering von Seiten aufgeführt.

Klasse

Beschreibung

UpdatePanel

Gibt die Bereiche der Seite an, die während des Teilrenderings von Seiten aktualisiert werden sollen.

ScriptManager

Verwaltet AJAX-Komponenten in ASP.NET, Teilrendering von Seiten, Clientanforderungen und Serverantworten auf ASP.NET-Webseiten.

ScriptManagerProxy

Ermöglicht geschachtelten Komponenten das Hinzufügen von Skript- und Dienstverweisen auf Seiten, die bereits ein ScriptManager-Steuerelement in einem übergeordneten Element enthalten.

In der folgenden Tabelle wird die wichtigste Clientklasse für das Teilrendering von Seiten aufgeführt.

Klasse

Beschreibung

Sys.WebForms.PageRequestManager-Klasse

Verwaltet das Teilrendering von Seiten auf dem Client und macht Member zur benutzerdefinierten Clientskripterstellung verfügbar.

Siehe auch

Konzepte

Übersicht über das UpdatePanel-Steuerelement

Übersicht über die ASP.NET-PageRequestManager-Klasse