Sys.WebForms.PageRequestManager, classe

Mise à jour : novembre 2007

Gère les mises à jour de page partielle des UpdatePanel de serveur dans le navigateur. En outre, définit les propriétés, événements et méthodes qui permettent de personnaliser une page Web à l'aide d'un script client.

Espace de noms :Sys.WebForms

Hérite de : Aucun

var prm = Sys.WebForms.PageRequestManager.getInstance();
Constructeur

Vous ne créez pas directement une nouvelle instance de la classe PageRequestManager. À la place, une instance est disponible lorsque le rendu de page partielle est activé. Appelez la méthode getInstance pour obtenir l'instance de la classe PageRequestManager.

Membres

Nom

Description

Sys.WebForms.PageRequestManager, constructeur

Initialise une nouvelle instance de la classe Sys.WebForms.PageRequestManager (voir Sys.WebForms.PageRequestManager, classe).

beginRequest, événement de Sys.WebForms.PageRequestManager

Déclenché avant le début du traitement d'une publication (postback) asynchrone et l'envoi de la requête de publication au serveur.

endRequest, événement de Sys.WebForms.PageRequestManager

Déclenché après qu'une publication (postback) asynchrone est terminée et que le contrôle a été retourné au navigateur.

initializeRequest, événement de Sys.WebForms.PageRequestManager

Déclenché durant l'initialisation de la publication (postback) asynchrone.

pageLoaded, événement de Sys.WebForms.PageRequestManager

Déclenché après l'actualisation de tout le contenu de la page suite à une publication (postback) synchrone ou asynchrone.

pageLoading, événement de Sys.WebForms.PageRequestManager

Déclenché après la réception d'une réponse du serveur à une publication (postback) asynchrone, mais avant la mise à jour du contenu sur la page.

abortPostBack, méthode de Sys.WebForms.PageRequestManager

Arrête toutes les mises à jour qui se produiraient suite à une publication (postback) asynchrone.

dispose, méthode de Sys.WebForms.PageRequestManager

Libère les ressources ECMAScript (JavaScript) et détache les événements.

getInstance, méthode de Sys.WebForms.PageRequestManager

Retourne l'instance de la classe PageRequestManager pour la page.

isInAsyncPostBack, propriété de Sys.WebForms.PageRequestManager

Retourne une valeur qui indique si l'objet PageRequestManager traite une publication (postback).

Remarque :

Cette classe contient des membres privés qui prennent en charge l'infrastructure de script client et ne sont pas destinés à être utilisés directement à partir de votre code. Les noms de membres privés commencent par un trait de soulignement ( _ ).

Notes

La classe PageRequestManager gère le rendu de page partielle dans le navigateur. Vous pouvez mettre à jour des régions dans la page en utilisant un ou plusieurs contrôles UpdatePanel et un contrôle ScriptManager.

Vous ne créez pas directement une instance de PageRequestManager. Lorsque le rendu de page partielle est activé, une instance de la classe PageRequestManager est automatiquement disponible. Vous pouvez y accéder par le biais de la méthode getInstance.

La classe PageRequestManager définit des événements que vous pouvez utiliser pour personnaliser le rendu de page partielle de votre page. L'infrastructure du client prend en charge la liaison d'événements automatique d'une manière similaire à la manière dont les événements de page serveur sont automatiquement liés à des méthodes telles que Page_Load. Le tableau suivant répertorie les événements clients que vous pouvez utiliser et les scénarios dans lesquels vous pouvez les gérer. Les événements sont répertoriés dans ce tableau dans l'ordre dans lequel ils sont appelés par la classe PageRequestManager.

Événement PageRequestManager

Description

initializeRequest

Déclenché avant le début du traitement de la requête asynchrone. Vous pouvez utiliser cet événement pour annuler une publication (postback).

beginRequest

Déclenché avant le début du traitement d'une publication (postback) asynchrone et l'envoi de cette dernière au serveur. Vous pouvez utiliser cet événement pour définir des en-têtes de requête ou pour commencer une animation qui indique que la page est en cours de traitement.

pageLoading

Déclenché après la réception d'une réponse du serveur à une publication (postback) asynchrone, mais avant la mise à jour du contenu sur la page. Vous pouvez utiliser cet événement pour appliquer un effet de transition personnalisé au contenu mis à jour.

pageLoaded

Déclenché après l'actualisation de tout le contenu de la page à la suite d'une publication (postback) synchrone ou asynchrone. Vous pouvez utiliser cet événement pour appliquer un effet de transition personnalisé au contenu mis à jour.

endRequest

Déclenché après qu'une publication (postback) asynchrone est terminée et que le contrôle a été retourné au navigateur. Vous pouvez utiliser cet événement pour fournir une notification aux utilisateurs ou pour consigner les erreurs.

Si la page contient au moins un contrôle UpdatePanel et si la valeur SupportsPartialRendering du contrôle ScriptManager est true (la valeur par défaut), la bibliothèque JavaScript qui définit la classe PageRequestManager est inscrite avec le contrôle ScriptManager et elle est disponible sur la page.

Exemple

L'exemple suivant indique comment utiliser l'événement beginRequest pour afficher une notification d'avancement durant des publications (postbacks) asynchrones. La méthode getInstance est appelée pour obtenir l'instance de PageRequestManager actuelle. Un script est inclus dans les gestionnaires pour les événements beginRequest et endRequest.

Visual Basic
<%@ 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 void ProcessClick_Handler(object sender, EventArgs e)
    {
        System.Threading.Thread.Sleep(2000);
    }

</script>

<html >
<head id="Head1" runat="server">
    <title>PageRequestManager beginRequest Example</title>
    <style type="text/css">
    body {
        font-family: Tahoma;
    }
    div.AlertStyle
    {
      background-color: #FFC080;
      top: 95%;
      left: 1%;
      height: 20px;
      width: 270px;
      position: absolute;
      visibility: hidden;
    }
    </style>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server" />

            <script type="text/javascript" language="javascript">
                Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
                Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
                function BeginRequestHandler(sender, args)
                {
                     var elem = args.get_postBackElement();
                     ActivateAlertDiv('visible', 'AlertDiv', elem.value + ' processing...');
                }
                function EndRequestHandler(sender, args)
                {
                     ActivateAlertDiv('hidden', 'AlertDiv', '');
                }
                function ActivateAlertDiv(visstring, elem, msg)
                {
                     var adiv = $get(elem);
                     adiv.style.visibility = visstring;
                     adiv.innerHTML = msg;                     
                }
            </script>

            <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="Server">
                <ContentTemplate>
                    <asp:Panel ID="Panel1" runat="server" GroupingText="Update Panel">
                        Last update:
                        <%= DateTime.Now.ToString()%>.
                        <br />
                        <asp:Button runat="server" ID="Button1" Text="Process 1" OnClick="ProcessClick_Handler" />
                        <asp:Button runat="server" ID="Button2" Text="Process 2" OnClick="ProcessClick_Handler" />
                    </asp:Panel>
                </ContentTemplate>
            </asp:UpdatePanel>
            <div id="AlertDiv" class="AlertStyle">
            </div>
        </div>
    </form>
</body>
</html>
C#
<%@ 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 void ProcessClick_Handler(object sender, EventArgs e)
    {
        System.Threading.Thread.Sleep(2000);
    }

</script>

<html >
<head id="Head1" runat="server">
    <title>PageRequestManager beginRequest Example</title>
    <style type="text/css">
    body {
        font-family: Tahoma;
    }
    div.AlertStyle
    {
      background-color: #FFC080;
      top: 95%;
      left: 1%;
      height: 20px;
      width: 270px;
      position: absolute;
      visibility: hidden;
    }
    </style>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server" />

            <script type="text/javascript" language="javascript">
                Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
                Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
                function BeginRequestHandler(sender, args)
                {
                     var elem = args.get_postBackElement();
                     ActivateAlertDiv('visible', 'AlertDiv', elem.value + ' processing...');
                }
                function EndRequestHandler(sender, args)
                {
                     ActivateAlertDiv('hidden', 'AlertDiv', '');
                }
                function ActivateAlertDiv(visstring, elem, msg)
                {
                     var adiv = $get(elem);
                     adiv.style.visibility = visstring;
                     adiv.innerHTML = msg;                     
                }
            </script>

            <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="Server">
                <ContentTemplate>
                    <asp:Panel ID="Panel1" runat="server" GroupingText="Update Panel">
                        Last update:
                        <%= DateTime.Now.ToString()%>.
                        <br />
                        <asp:Button runat="server" ID="Button1" Text="Process 1" OnClick="ProcessClick_Handler" />
                        <asp:Button runat="server" ID="Button2" Text="Process 2" OnClick="ProcessClick_Handler" />
                    </asp:Panel>
                </ContentTemplate>
            </asp:UpdatePanel>
            <div id="AlertDiv" class="AlertStyle">
            </div>
        </div>
    </form>
</body>
</html>
Voir aussi

Référence

Mots clés :


Page view tracker