Comment : ajouter de manière dynamique un script client à des pages Web ASP.NET

Mise à jour : novembre 2007

Vous pouvez ajouter un script client à une page par l'intermédiaire du code serveur. Créer un script client dans le code serveur est utile lorsque le contenu de ce script client dépend d'informations non disponibles avant le moment de l'exécution. Ajouter dynamiquement le script client à la page est également utile si vous souhaitez que celui-ci s'exécute dans les situations suivantes :

Pour ajouter de manière dynamique un script client à une page Web ASP.NET

  • Dans le code serveur, appelez l'une des méthodes figurant dans le tableau suivant.

    Méthode

    Description

    RegisterClientScriptBlock

    Ajoute un bloc de script en haut de la page. Créez le script sous forme de chaîne, puis passez-le à la méthode, laquelle l'ajoute à la page. Vous pouvez utiliser cette méthode pour insérer n'importe quel script dans la page. Notez que le script peut être rendu dans la page avant la fin de tous les éléments ; vous risquez donc de ne pas pouvoir référencer tous les éléments de la page du script.

    RegisterClientScriptInclude

    Semblable à la méthode RegisterClientScriptBlock, mais ajoute un bloc de script qui référence un fichier .js externe. Le fichier Include étant ajouté avant tout autre script ajouté dynamiquement, vous risquez de ne pas pouvoir référencer certains éléments de la page.

    RegisterStartupScript

    Ajoute à la page un bloc de script qui s'exécute lorsque la page finit de se charger, mais avant que l'événement onload de la page ne soit déclenché. Le script n'est en général pas créé sous forme de gestionnaire d'événements ou de fonction ; il n'inclut normalement que des instructions que vous ne souhaitez exécuter qu'une fois.

    RegisterOnSubmitStatement

    Ajoute un script qui s'exécute en réponse à l'événement onsubmit de la page. Le script est exécuté avant que la page ne soit envoyée et vous donne la possibilité d'annuler l'envoi.

    L'exemple de code suivant montre comment ajouter le script client à une page qui s'exécute lorsque l'utilisateur clique sur un bouton qui publie la page sur le serveur. Le script client affiche une fenêtre contextuelle qui demande à l'utilisateur de confirmer la publication.

    Protected Sub Page_Load(ByVal sender As Object, _
            ByVal e As System.EventArgs)
        Dim scriptText As String
        scriptText = "return confirm('Do you want to submit the page?')"
        ClientScript.RegisterOnSubmitStatement(Me.GetType(), _
            "ConfirmSubmit", scriptText)
    End Sub
    
protected void Page_Load(Object sender, EventArgs e)
{
    String scriptText = 
        "return confirm('Do you want to submit the page?')";
    ClientScript.RegisterOnSubmitStatement(this.GetType(), 
        "ConfirmSubmit", scriptText);
}

Voir aussi

Tâches

Comment : ajouter des événements de script client à des contrôles serveur Web ASP.NET

Concepts

Script client dans les pages Web ASP.NET

Implémentation par programme des rappels clients sans publication (postback) dans des pages Web ASP.NET