Cliquez pour évaluer et commenter
MSDN
MSDN Library
Développement .NET
.NET Framework 3.5
.NET Framework
Bibliothèque de classes ....
System.Web.UI, espace de noms
ScriptManager, classe

  Passer à l'affichage pour faible bande passante
Bibliothèque de classes .NET Framework
ScriptManager, classe

Mise à jour : novembre 2007

Gère des fichiers de script et des bibliothèques de scripts ASP.NET AJAX, le rendu de page partiel et la génération de classe du proxy client pour les services Web et d'application.

Espace de noms :  System.Web.UI
Assembly :  System.Web.Extensions (dans System.Web.Extensions.dll)

Visual Basic (Déclaration)
<AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
Public Class ScriptManager _
    Inherits Control _
    Implements IPostBackDataHandler, IScriptManager
Visual Basic (Utilisation)
Dim instance As ScriptManager
C#
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public class ScriptManager : Control, 
    IPostBackDataHandler, IScriptManager
VisualC++
[AspNetHostingPermissionAttribute(SecurityAction::InheritanceDemand, Level = AspNetHostingPermissionLevel::Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction::LinkDemand, Level = AspNetHostingPermissionLevel::Minimal)]
public ref class ScriptManager : public Control, 
    IPostBackDataHandler, IScriptManager
J#
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal) */
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal) */
public class ScriptManager extends Control implements IPostBackDataHandler, 
    IScriptManager
JScript
public class ScriptManager extends Control implements IPostBackDataHandler, IScriptManager
ASP.NET
<asp:ScriptManager />

Le contrôle ScriptManager est essentiel aux fonctionnalités AJAX dans ASP.NET. Ce contrôle gère toutes les ressources ASP.NET AJAX sur une page. Cela inclut le téléchargement de scripts Microsoft AJAX Library vers le navigateur et la coordination des mises à jour de pages partielles activées à l'aide de contrôles UpdatePanel. De plus, le contrôle ScriptManager vous permet d'effectuer les opérations suivantes :

  • Inscrire le script qui est compatible avec des mises à jour de pages partielles. Pour gérer les dépendances entre votre script et la bibliothèque principale, tout script inscrit est chargé après le script Microsoft AJAX Library.

  • Spécifier si les scripts de version Release ou debug sont envoyés au navigateur.

  • Fournir l'accès aux méthodes de services Web du script en inscrivant les services Web avec le contrôle ScriptManager.

  • Fournir l'accès à l'authentification, au rôle et aux services d'application de profil ASP.NET à partir du script client en inscrivant ces services avec le contrôle ScriptManager.

  • Activer l'affichage spécifique à la culture des fonctions ECMAScript (JavaScript) Date, Nombre et Chaîne dans le navigateur.

  • Accéder aux ressources de localisation pour les fichiers de script incorporés ou pour les fichiers de script autonomes en utilisant la propriété ResourceUICultures du contrôle ScriptReference.

  • Inscrire des contrôles serveur qui implémentent les interfaces IExtenderControl ou IScriptControl avec le contrôle ScriptManager afin que le script requis par les composants clients et les comportements soit restitué.

Rendu de page partiel

La capacité d'une page ASP.NET à prendre en charge le rendu de page partiel est contrôlée par les facteurs suivants :

Vous pouvez substituer la valeur de la propriété EnablePartialRendering au moment de l'exécution pendant ou avant l'événement Init de la page. Si vous essayez de modifier cette propriété après l'événement Init de la page, une exception InvalidOperationException est levée.

Lorsque le rendu de page partiel est pris en charge, le contrôle ScriptManager restitue le script pour activer des publications (postbacks) asynchrones et des mises à jour de pages partielles. Les zones de la page à mettre à jour sont désignées à l'aide des contrôles UpdatePanel. Le contrôle ScriptManager gère les publications (postback) asynchrones et actualise uniquement les zones de la page qui doivent être mises à jour. Pour plus d'informations sur le rendu de page partiel, consultez Vue d'ensemble du rendu de page partielle. Pour plus d'informations sur les conditions qui provoquent une mise à jour, consultez Vue d'ensemble du contrôle UpdatePanel.

Utilisation du contrôle ScriptManager avec des pages maîtres, des contrôles utilisateur et d'autres composants enfants

Une page peut contenir un seul contrôle ScriptManager dans sa hiérarchie. Pour inscrire des services et des scripts pour des pages imbriquées, des contrôles utilisateur ou des composants lorsque la page parente a déjà un contrôle ScriptManager, utilisez le contrôle ScriptManagerProxy. Pour plus d'informations, consultez Utilisation du contrôle UpdatePanel ASP.NET avec des pages maîtres.

Vue d'ensemble de l'inscription et de la gestion du script

Le contrôle ScriptManager vous permet d'inscrire un script qui est ensuite restitué dans le cadre de la page. Les méthodes d'inscription de contrôle ScriptManager peuvent être réparties dans les trois catégories suivantes :

  • Méthodes d'inscription garantissant que les dépendances de script de Microsoft AJAX Library sont maintenues.

  • Méthodes d'inscription indépendantes de Microsoft AJAX Library, mais compatibles avec les contrôles UpdatePanel.

  • Méthodes d'inscription prenant en charge l'utilisation de contrôles UpdatePanel.

Pour plus d'informations sur la création et l'utilisation d'un script AJAX dans ASP.NET, consultez Création d'un script client personnalisé à l'aide de Microsoft AJAX Library.

Inscription d'un script dépendant de Microsoft AJAX Library

Vous pouvez utiliser les méthodes suivantes pour inscrire des fichiers de script d'une manière garantissant la conservation de toutes les dépendances de Microsoft AJAX Library.

Méthode

Définition

RegisterScriptControl<(Of <(TScriptControl>)>)

Inscrit un contrôle serveur qui implémente l'interface IScriptControl utilisée pour définir un objet client Sys.Component. Le contrôle ScriptManager restitue un script qui prend en charge l'objet client.

RegisterExtenderControl<(Of <(TExtenderControl>)>)

Inscrit un contrôle serveur qui implémente l'interface IExtenderControl utilisée pour définir un objet client Sys.UI.Behavior. Le contrôle ScriptManager restitue un script qui prend en charge l'objet client.

Inscription de scripts compatibles avec la mise à jour de page partielle

Vous pouvez utiliser les méthodes suivantes pour inscrire des fichiers de script indépendants de Microsoft AJAX Library mais compatibles avec les contrôles UpdatePanel. Ces méthodes correspondent aux méthodes semblables du contrôle ClientScriptManager. Si vous restituez un script afin de l'utiliser dans un contrôle UpdatePanel, veillez à appeler les méthodes du contrôle ScriptManager.

Méthode

Définition

RegisterArrayDeclaration

Ajoute une valeur à un tableau JavaScript. Si le tableau n'existe pas, il est créé.

RegisterClientScriptBlock

Restitue un élément script après la balise d'ouverture <form> de la page. Le script est spécifié comme un paramètre de chaîne.

RegisterClientScriptInclude

Restitue un élément script après la balise d'ouverture <form> de la page. Le contenu du script est spécifié en affectant à l'attribut src une URL qui pointe vers un fichier de script.

RegisterClientScriptResource

Restitue un élément script après la balise d'ouverture <form> de la page. Le contenu du script est spécifié avec un nom de ressource dans un assembly. L'attribut src est automatiquement rempli avec une URL via un appel à un gestionnaire HTTP qui récupère le script nommé de l'assembly.

RegisterExpandoAttribute

Restitue une paire d'attribut nom/valeur personnalisée (un expando) dans le balisage pour un contrôle spécifié.

RegisterHiddenField

Restitue un champ masqué.

RegisterOnSubmitStatement

Inscrit un script exécuté en réponse à l'événement submit de l'élément form. L'attribut onSubmit référence le script spécifié.

RegisterStartupScript

Restitue un bloc de script de démarrage juste avant la balise de fermeture </form> de la page. Le script à restituer est spécifié comme un paramètre de chaîne.

Lorsque vous inscrivez des méthodes, vous spécifiez une paire type/clé pour ce script. Si un script avec la même paire type/clé est déjà inscrit, aucun nouveau script n'est inscrit. De la même façon, si vous inscrivez un script avec une paire type/nom de ressource qui existe déjà, l'élément script qui référence la ressource n'est plus ajouté. Lorsque vous inscrivez l'attribut expando d'un attribut précédemment inscrit, une exception est levée. L'inscription en double des valeurs de tableau est autorisée.

Lorsque vous appelez la méthode RegisterClientScriptInclude ou RegisterClientScriptResource, évitez d'inscrire un script qui exécute des fonctions inline. Inscrivez plutôt un script qui contient des définitions de fonction telles que des gestionnaires d'événements ou des définitions de classe personnalisée pour votre application.

Méthodes d'inscription pour les contrôles UpdatePanel

Vous pouvez utiliser les méthodes suivantes pour personnaliser les mises à jour de pages partielles lorsque vous utilisez des contrôles UpdatePanel.

Méthode

Définition

RegisterAsyncPostBackControl

Inscrit un contrôle comme déclencheur pour les publications (postback) asynchrones.

RegisterDataItem

Envoie des données personnalisées aux contrôles pendant le rendu de page partiel.

RegisterDispose

Inscrit un script dispose pour un contrôle situé à l'intérieur d'un contrôle UpdatePanel. Le script est exécuté lorsque le contrôle UpdatePanel est mis à jour ou supprimé. La méthode dispose est utilisée pour les composants clients qui font partie de Microsoft AJAX Library et qui doivent libérer des ressources lorsqu'un composant n'est plus utilisé.

RegisterPostBackControl

Inscrit un contrôle comme déclencheur pour une publication (postback) complète. Cette méthode est utilisée pour les contrôles à l'intérieur d'un contrôle UpdatePanel qui, sinon, exécuteraient des publications (postback) asynchrones.

Références de service Web

Vous pouvez inscrire un service Web à appeler à partir du script client en créant un objet ServiceReference et en l'ajoutant à la collection Services du contrôle ScriptManager. ASP.NET génère un objet proxy client pour chaque objet ServiceReference de la collection Services. Vous pouvez ajouter par programme des objets ServiceReference à la collection Services pour inscrire des services Web au moment de l'exécution.

Pour plus d'informations sur l'accès aux services Web dans le script, consultez Exposition de services Web au script client et Appel de services Web à partir du script client.

Localisation

Le contrôle ScriptManager génère des références dans la page rendue qui pointent vers les fichiers de script localisés appropriés, qui sont soit des fichiers de script incorporés dans des assemblys soit des fichiers de script autonomes.

Lorsque la propriété EnableScriptLocalization a la valeur true, le contrôle ScriptManager récupère des ressources localisées (telles que des chaînes localisées) pour la culture en cours, le cas échéant. Le contrôle ScriptManager fournit les fonctionnalités suivantes pour utiliser des ressources localisées :

  • Fichiers de script incorporés dans un assembly. Le contrôle ScriptManager détermine le fichier de script de culture de secours ou spécifique à la culture à envoyer au navigateur. Pour ce faire, il utilise l'attribut d'assembly NeutralResourcesLanguageAttribute spécifique à la culture, les ressources fournies avec l'assembly et la culture d'interface utilisateur du navigateur (le cas échéant).

  • Fichiers de script autonomes. Le contrôle ScriptManager définit la liste des cultures d'interface utilisateur prises en charge en utilisant la propriété ResourceUICultures de l'objet ScriptReference.

  • En mode débogage. Le contrôle ScriptManager essaie de restituer un fichier de script spécifique à la culture qui contient des informations de débogage. Par exemple, si la page est en mode débogage et si la culture en cours a la valeur en-MX, le contrôle restitue un fichier de script dont le nom est, par exemple, scriptname.en-MX.debug.js, si le fichier existe. Si le fichier n'existe pas, le fichier de débogage pour la culture de secours appropriée est restitué.

Pour plus d'informations sur la localisation des ressources, consultez Vue d'ensemble de la localisation de ressources pour les bibliothèques de composants.

Gestion des erreurs

Lorsqu'une erreur de page se produit lors de publications (postback) asynchrones, l'événement AsyncPostBackError est déclenché. La façon dont les erreurs sur le serveur sont envoyées au client dépend de la propriété AllowCustomErrorsRedirect, de la propriété AsyncPostBackErrorMessage et de la section d'erreurs personnalisées du fichier Web.config. Pour plus d'informations, consultez Personnalisation de la gestion des erreurs pour les contrôles UpdatePanel ASP.NET.

TopicLocation
Vue d'ensemble du contrôle ScriptManagerGénération d'applications Web ASP.NET dans Visual Studio
Vue d'ensemble du contrôle UpdatePanelGénération d'applications Web ASP.NET dans Visual Studio

Les exemples suivants affichent différents scénarios pour utiliser le contrôle ScriptManager.

Activation de mises à jour de pages partielles

L'exemple suivant indique comment utiliser le contrôle ScriptManager pour activer des mises à jour de pages partielles. Dans cet exemple, un contrôle Calendar et un contrôle DropDownList sont à l'intérieur d'un contrôle UpdatePanel. Par défaut, la valeur de la propriété UpdateMode est Always et la valeur de la propriété ChildrenAsTriggers est true. Par conséquent, les contrôles enfants du panneau entraînent une publication (postback) asynchrone.

Visual Basic
<%@ 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">
    Sub DropDownSelection_Change(ByVal Sender As Object, ByVal E As EventArgs)
        Calendar1.DayStyle.BackColor = _
        System.Drawing.Color.FromName(ColorList.SelectedItem.Value)
    End Sub

    Protected Sub Calendar1_SelectionChanged(ByVal Sender As Object, ByVal E As EventArgs)
        SelectedDate.Text = Calendar1.SelectedDate.ToString()
    End Sub

</script>

<html >
<head id="Head1" runat="server">
    <title>UpdatePanel Example</title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" 
                               runat="server" />
            <asp:UpdatePanel ID="UpdatePanel1"
                             runat="server">
                <ContentTemplate>
                    <asp:Calendar ID="Calendar1" 
                                  ShowTitle="True"
                                  OnSelectionChanged="Calendar1_SelectionChanged"
                                  runat="server" />
                    <div>
                        Background:
                        <br />
                        <asp:DropDownList ID="ColorList" 
                                          AutoPostBack="True" 
                                          OnSelectedIndexChanged="DropDownSelection_Change"
                                          runat="server">
                            <asp:ListItem Selected="True" Value="White"> 
                            White </asp:ListItem>
                            <asp:ListItem Value="Silver"> 
                            Silver </asp:ListItem>
                            <asp:ListItem Value="DarkGray"> 
                            Dark Gray </asp:ListItem>
                            <asp:ListItem Value="Khaki"> 
                            Khaki </asp:ListItem>
                            <asp:ListItem Value="DarkKhaki"> D
                            ark Khaki </asp:ListItem>
                        </asp:DropDownList>
                    </div>
                    <br />
                    Selected date:
                    <asp:Label ID="SelectedDate" 
                               runat="server">None.</asp:Label>
                </ContentTemplate>
            </asp:UpdatePanel>
            <br />
        </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">
    void DropDownSelection_Change(Object sender, EventArgs e)
    {
        Calendar1.DayStyle.BackColor =
            System.Drawing.Color.FromName(ColorList.SelectedItem.Value);
    }

    protected void Calendar1_SelectionChanged(object sender, EventArgs e)
    {
        SelectedDate.Text = 
            Calendar1.SelectedDate.ToString();
    }

</script>

<html >
<head id="Head1" runat="server">
    <title>UpdatePanel Example</title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" 
                               runat="server" />
            <asp:UpdatePanel ID="UpdatePanel1"
                             runat="server">
                <ContentTemplate>
                    <asp:Calendar ID="Calendar1" 
                                  ShowTitle="True"
                                  OnSelectionChanged="Calendar1_SelectionChanged"
                                  runat="server" />
                    <div>
                        Background:
                        <br />
                        <asp:DropDownList ID="ColorList" 
                                          AutoPostBack="True" 
                                          OnSelectedIndexChanged="DropDownSelection_Change"
                                          runat="server">
                            <asp:ListItem Selected="True" Value="White"> 
                            White </asp:ListItem>
                            <asp:ListItem Value="Silver"> 
                            Silver </asp:ListItem>
                            <asp:ListItem Value="DarkGray"> 
                            Dark Gray </asp:ListItem>
                            <asp:ListItem Value="Khaki"> 
                            Khaki </asp:ListItem>
                            <asp:ListItem Value="DarkKhaki"> D
                            ark Khaki </asp:ListItem>
                        </asp:DropDownList>
                    </div>
                    <br />
                    Selected date:
                    <asp:Label ID="SelectedDate" 
                               runat="server">None.</asp:Label>
                </ContentTemplate>
            </asp:UpdatePanel>
            <br />
        </div>
    </form>
</body>
</html>

Gestion des erreurs de mise à jour de page partielle et inscription de script

L'exemple suivant montre comment fournir une gestion des erreurs personnalisée pendant les mises à jour de pages partielles. Par défaut, lorsqu'une erreur se produit pendant les mises à jour de pages partielles, un message JavaScript s'affiche. Cet exemple montre comment utiliser la gestion des erreurs personnalisée en fournissant un gestionnaire pour l'événement AsyncPostBackError et en définissant la propriété AsyncPostBackErrorMessage dans le gestionnaire d'événements. Vous pouvez également définir la propriété AllowCustomErrorsRedirect pour spécifier comment la section d'erreurs personnalisées du fichier Web.config est utilisée lorsqu'une erreur se produit pendant des mises à jour de pages partielles. Dans cet exemple, la valeur par défaut de la propriété AllowCustomErrorsRedirect est utilisée. Cela signifie que si le fichier Web.config contient un élément customErrors, cet élément détermine comment les erreurs s'affichent. Pour plus d'informations, consultez customErrors, élément (Schéma des paramètres ASP.NET).

Visual Basic
<%@ 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 Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Try
            Dim a As Int32
            a = Int32.Parse(TextBox1.Text)
            Dim b As Int32
            b = Int32.Parse(TextBox2.Text)
            Dim res As Int32 = a / b
            Label1.Text = res.ToString()
        Catch ex As Exception
            If (TextBox1.Text.Length > 0 AndAlso TextBox2.Text.Length > 0) Then
                ex.Data("ExtraInfo") = " You can't divide " & _
                  TextBox1.Text & " by " & TextBox2.Text & "."
            End If
            Throw ex
        End Try

    End Sub
    Protected Sub ScriptManager1_AsyncPostBackError(ByVal sender As Object, ByVal e As System.Web.UI.AsyncPostBackErrorEventArgs)
        If (e.Exception.Data("ExtraInfo") <> Nothing) Then
            ScriptManager1.AsyncPostBackErrorMessage = _
               e.Exception.Message & _
               e.Exception.Data("ExtraInfo").ToString()
        Else
            ScriptManager1.AsyncPostBackErrorMessage = _
               "An unspecified error occurred."
        End If
    End Sub
</script>

<html >
<head id="Head1" runat="server">
    <title>UpdatePanel Error Handling Example</title>
    <style type="text/css">
    #UpdatePanel1 {
      width: 200px; height: 50px;
      border: solid 1px gray;
    }
    #AlertDiv{
    left: 40%; top: 40%;
    position: absolute; width: 200px;
    padding: 12px; 
    border: #000000 1px solid;
    background-color: white; 
    text-align: left;
    visibility: hidden;
    z-index: 99;
    }
    #AlertButtons{
    position: absolute; right: 5%; bottom: 5%;
    }
    </style>
</head>
<body id="bodytag">
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" 
            OnAsyncPostBackError="ScriptManager1_AsyncPostBackError" runat="server" >
            <Scripts>
            <asp:ScriptReference Path="ErrorHandling.js" />
            </Scripts>
            </asp:ScriptManager>

            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <asp:TextBox ID="TextBox1" runat="server" Width="39px"></asp:TextBox>
                    /
                    <asp:TextBox ID="TextBox2" runat="server" Width="39px"></asp:TextBox>
                    =
                    <asp:Label ID="Label1" runat="server"></asp:Label><br />
                    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="calculate" />
                </ContentTemplate>
            </asp:UpdatePanel>
            <div id="AlertDiv">
                <div id="AlertMessage">
                </div>
                <br />
                <div id="AlertButtons">
                    <input id="OKButton" type="button" value="OK" runat="server" onclick="ClearErrorState()" />
                </div>
            </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 Button1_Click(object sender, EventArgs e)
    {
        try
        {
            int a = Int32.Parse(TextBox1.Text);
            int b = Int32.Parse(TextBox2.Text);
            int res = a / b;
            Label1.Text = res.ToString();
        }
        catch (Exception ex)
        {
            if (TextBox1.Text.Length > 0 && TextBox2.Text.Length > 0)
            {
                ex.Data["ExtraInfo"] = " You can't divide " +
                    TextBox1.Text + " by " + TextBox2.Text + ".";
            }
            throw ex;
        }
    }

    protected void ScriptManager1_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)
    {
        if (e.Exception.Data["ExtraInfo"] != null)
        {
            ScriptManager1.AsyncPostBackErrorMessage =
                e.Exception.Message +
                e.Exception.Data["ExtraInfo"].ToString();
        }
        else
        {
            ScriptManager1.AsyncPostBackErrorMessage =
                "An unspecified error occurred.";
        }
    }
</script>

<html >
<head id="Head1" runat="server">
    <title>UpdatePanel Error Handling Example</title>
    <style type="text/css">
    #UpdatePanel1 {
      width: 200px; height: 50px;
      border: solid 1px gray;
    }
    #AlertDiv{
    left: 40%; top: 40%;
    position: absolute; width: 200px;
    padding: 12px; 
    border: #000000 1px solid;
    background-color: white; 
    text-align: left;
    visibility: hidden;
    z-index: 99;
    }
    #AlertButtons{
    position: absolute; right: 5%; bottom: 5%;
    }
    </style>
</head>
<body id="bodytag">
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" 
            OnAsyncPostBackError="ScriptManager1_AsyncPostBackError" runat="server" >
            <Scripts>
            <asp:ScriptReference Path="ErrorHandling.js" />
            </Scripts>
            </asp:ScriptManager>
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <asp:TextBox ID="TextBox1" runat="server" Width="39px"></asp:TextBox>
                    /
                    <asp:TextBox ID="TextBox2" runat="server" Width="39px"></asp:TextBox>
                    =
                    <asp:Label ID="Label1" runat="server"></asp:Label><br />
                    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="calculate" />
                </ContentTemplate>
            </asp:UpdatePanel>
            <div id="AlertDiv">
                <div id="AlertMessage">
                </div>
                <br />
                <div id="AlertButtons">
                    <input id="OKButton" type="button" value="OK" runat="server" onclick="ClearErrorState()" />
                </div>
            </div>
        </div>
    </form>
</body>
</html>

Globalisation de la date et de l'heure affichées dans le navigateur

L'exemple suivant montre comment définir la propriété EnableScriptGlobalization pour que le script client puisse afficher des date et heure spécifiques à la culture dans le navigateur. Dans l'exemple, l'attribut Culture de la directive @ Page a la valeur auto. Par conséquent, la première langue spécifiée dans les paramètres du navigateur en cours détermine la culture et la culture d'interface utilisateur pour la page. Pour plus d'informations, consultez Comment : définir la culture et la culture de l'interface utilisateur pour la globalisation des pages Web ASP.NET.

Visual Basic
<%@ Page Language="VB" Culture="auto" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html >
<head id="Head1" runat="server">
    <title>Globalization Example</title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" EnableScriptGlobalization="true" runat="server">
        </asp:ScriptManager>
        <script type="text/javascript">
        function pageLoad() {
          Sys.UI.DomEvent.addHandler($get("Button1"), "click", formatDate);
        }
        function formatDate() {
          var d = new Date();
          try {
            $get('Label1').innerHTML = d.localeFormat("dddd, dd MMMM yyyy HH:mm:ss");
          }
          catch(e) {
            alert("Error:" + e.message);
          }
        }
        </script>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="False" UpdateMode="Conditional">
        <ContentTemplate>
        <asp:Panel ID="Panel1" runat="server" GroupingText="Update Panel">
        <asp:Button ID="Button1" runat="server" Text="Display Date" />

        <br />

        <asp:Label ID="Label1" runat="server"></asp:Label>
        </asp:Panel>
        </ContentTemplate>
        </asp:UpdatePanel>
    </form>
</body>
</html>

C#
<%@ Page Language="C#" Culture="auto" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html >
<head id="Head1" runat="server">
    <title>Globalization Example</title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" EnableScriptGlobalization="true" runat="server">
        </asp:ScriptManager>
        <script type="text/javascript">
        function pageLoad() {
          Sys.UI.DomEvent.addHandler($get("Button1"), "click", formatDate);
        }
        function formatDate() {
          var d = new Date();
          try {
            $get('Label1').innerHTML = d.localeFormat("dddd, dd MMMM yyyy HH:mm:ss");
          }
          catch(e) {
            alert("Error:" + e.message);
          }
        }
        </script>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="False" UpdateMode="Conditional">
        <ContentTemplate>
        <asp:Panel ID="Panel1" runat="server" GroupingText="Update Panel">
        <asp:Button ID="Button1" runat="server" Text="Display Date" />

        <br />

        <asp:Label ID="Label1" runat="server"></asp:Label>
        </asp:Panel>
        </ContentTemplate>
        </asp:UpdatePanel>
    </form>
</body>
</html>

System..::.Object
  System.Web.UI..::.Control
    System.Web.UI..::.ScriptManager
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows Vista, Windows XP SP2, Windows Server 2003

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5
Contenu de la communauté   Qu'est-ce que le Contenu de la communauté ?
Ajouter du contenu RSS  Annotations
Processing
© 2009 Microsoft Corporation. Tous droits réservés. Conditions d'utilisation  |  Marques  |  Confidentialité
Page view tracker