Partager via


Exemples de création de contrôles serveur personnalisés

Mise à jour : novembre 2007

Cette rubrique décrit comment compiler les exemples de contrôles personnalisés dans un assembly et utiliser les contrôles dans les pages Web ASP.NET. Elle décrit également comment utiliser le dossier App_Code d'un site Web ASP.NET pour tester le code d'un contrôle sans le compiler.

Création d'un assembly de contrôle

Pour créer et compiler les contrôles personnalisés dans un assembly

  1. Créez un dossier pour les fichiers sources des contrôles personnalisés et des classes associées.

  2. Créez un fichier texte avec l'extension de langage appropriée pour chaque exemple que vous souhaitez compiler.

    Par exemple, créez un fichier nommé MailLink.cs pour le code C# du contrôle MailLink dans Rendu de contrôle Web, exemple.

  3. Copiez et collez le code source de chaque exemple dans le fichier texte correspondant et enregistrez le fichier.

  4. Exécutez la commande suivante à partir du dossier du code source pour compiler les contrôles et les classes associées dans un assembly.

    csc /t:library /out:Samples.AspNet.CS.Controls.dll /r:System.dll 
    /r:System.Web.dll /r:System.Design.dll *.cs
    
    vbc /t:library /out:Samples.AspNet.VB.Controls.dll /r:System.dll 
    /r:System.Web.dll /r:System.Design.dll *.vb
    

    L'option /t:library du compilateur indique à ce dernier de créer une bibliothèque (plutôt qu'un assembly exécutable). L'option /out fournit un nom à l'assembly et l'option /r liste les assemblys liés à votre assembly.

    Remarque :

    Si vous ne pouvez pas exécuter la commande du compilateur, vous devez ajouter le chemin d'accès de l'installation du .NET Framework à la variable PATH Windows avant d'exécuter la commande. Dans Windows, cliquez avec le bouton droit sur Poste de travail, cliquez sur Propriétés, puis sur l'onglet Avancé, puis sur le bouton Variables d'environnement. Dans la liste Variables système, double-cliquez sur la variable Path. Dans la zone de texte Valeur de la variable, ajoutez un point-virgule (;) à la fin des valeurs existantes dans la zone de texte, puis saisissez le chemin d'accès de votre installation .NET Framework. Le .NET Framework est habituellement installé dans le dossier d'installation de Windows à l'emplacement \Microsoft.NET\Framework\numéroVersion.

  5. Réexécutez la commande de compilation de l'étape 4 chaque fois que vous ajoutez de nouveaux fichiers sources au dossier du code source ou que vous modifiez les fichiers existants.

Création d'un site Web ASP.NET

Pour créer le site Web ASP.NET

  1. Créez un site Web ASP.NET à l'aide des Services Internet (IIS) ou d'un autre outil.

  2. Pour plus d'informations sur la création et la configuration d'un répertoire virtuel IIS, consultez Comment : créer et configurer des répertoires virtuels dans IIS 5.0 et 6.0.

    Remarque :

    Si vous souhaitez utiliser IIS, installez-le avant d'installer le .NET Framework.

  3. Créez un dossier Bin sous le dossier racine de votre site Web.

  4. Copiez l'assembly que vous avez créé lors de la procédure précédente dans le dossier Bin du site Web.

    Remarque :

    Si vous recompilez l'assembly du contrôle (dernière étape de la section précédente) vous devez recopier le nouvel assembly dans le dossier Bin de votre site Web.

  5. Créez un fichier texte nommé Web.config dans le dossier racine de votre site Web, ajoutez le code XML suivant au fichier Web.config, puis enregistrez le fichier.

    <?xml version="1.0"?>
    <configuration>
      <system.web>
        <compilation debug="true"/>
        <pages>
          <controls>
            <add tagPrefix="aspSample" 
              namespace="Samples.AspNet.CS.Controls" 
              assembly="Samples.AspNet.CS.Controls" >
            </add>
          </controls>
        </pages>
      </system.web>
    </configuration>
    
    <?xml version="1.0"?>
    <configuration>
      <system.web>
        <compilation debug="true"/>
        <pages>
          <controls>
            <add tagPrefix="aspSample" 
              namespace="Samples.AspNet.VB.Controls" 
              assembly="Samples.AspNet.VB.Controls" >
            </add>
          </controls>
        </pages>
      </system.web>
    </configuration>
    
  6. Ajoutez un fichier texte avec une extension .aspx au dossier racine de votre site Web pour chaque exemple que vous souhaitez tester.

    Par exemple, créez un fichier nommé MailLinkTest.aspx pour la page de test du contrôle MailLink fournie dans Rendu de contrôle Web, exemple.

  7. Copiez et collez le code source de chaque exemple de page test dans le fichier .aspx correspondant et enregistrez le fichier.

  8. Demandez les pages .aspx dans un navigateur Web.

    Par exemple, si votre site Web se nomme ServerControls et comprend une page nommée MailLinkTest.aspx, saisissez l'URL suivante dans la barre d'adresses de votre navigateur :

    https://localhost/ServerControls/MailLinkTest.aspx
    

Utilisation du dossier App_Code pour tester les contrôles

Vous pouvez utiliser la fonctionnalité de compilation dynamique d'ASP.NET 2.0 pour tester les contrôles sans les compiler manuellement dans un assembly.

Pour placer des contrôles dans le dossier App_Code

  1. Créez un dossier App_Code sous le dossier racine de votre site Web.

  2. Copiez les fichiers sources des contrôles et des classes connexes dans le dossier App_Code.

  3. Si vous avez auparavant ajouté dans le dossier Bin un assembly pour le contrôle, supprimez-le.

    Remarque :

    Vous pouvez soit précompiler un contrôle dans un assembly et placer l'assembly dans le dossier Bin, soit placer le fichier source du contrôle dans le dossier App_Code. Si vous ajoutez le contrôle aux deux dossiers, l'analyseur de page ne sera pas capable de résoudre une référence au contrôle dans une page et générera une erreur.

  4. Transformez l'entrée dans la section controls du fichier Web.config en l'entrée suivante en surbrillance, ce qui mappe l'espace de noms du contrôle à un préfixe de balise :

    <controls>
      <add tagPrefix="aspSample"     namespace="Samples.AspNet.CS.Controls">..</add>
    </controls>
    
    <controls>
      <add tagPrefix="aspSample"     namespace="Samples.AspNet.VB.Controls">..</add>
    </controls>
    

    Pour plus d'informations, consultez @ Register.

  5. Demandez les pages .aspx dans un navigateur Web.

Si vous placez les fichiers sources des classes QuickContacts et ContactCollectionEditor de Propriété de collection de contrôles Web, exemple dans le dossier App_Code, vous devez également ajouter une référence à l'assembly System.Design dans la section compilation du fichier Web.config. Cette référence nécessite le nom d'assembly qualifié complet de l'assembly System.Design. Vous pouvez obtenir les informations requises pour le nom qualifié complet en exécutant l'Outil Global Assembly Cache Tool (Gacutil.exe), fourni avec le Kit de développement logiciel (SDK) Windows, à l'aide de la syntaxe suivante :

gacutil /l System.Design
Remarque :

Pour exécuter l'Outil Global Assembly Cache Tool (Gacutil.exe) à partir de la ligne de commande, la variable PATH de l'environnement Windows de votre ordinateur doit comprendre le chemin d'accès à votre installation .NET Framework. Dans Windows, cliquez avec le bouton droit sur Poste de travail, cliquez sur Propriétés, puis sur l'onglet Avancé, puis sur le bouton Variables d'environnement. Dans la liste Variables système, double-cliquez sur la variable Path. Dans la zone de texte Valeur de la variable, ajoutez un point-virgule (;) à la fin des valeurs existantes dans la zone de texte, puis saisissez le chemin d'accès de votre installation .NET Framework. Le .NET Framework est habituellement installé dans le dossier d'installation de Windows à l'emplacement \Microsoft.NET\Framework\numéroVersion.

La balise que vous ajoutez à la section compilation du fichier Web.config est semblable à la section en surbrillance de l'exemple suivant. Vous devez néanmoins remplacer les valeurs des attributs Version et PublicKeyToken par les valeurs retournées par l'outil Gacutil.exe.

<compilation >
  <assemblies>    <add assembly="System.Design, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />    </assemblies>
</compilation>
Remarque :

Si vous utilisez un environnement de développement intégré, le concepteur peut fournir une technique plus simple pour ajouter une référence d'assembly au fichier Web.config. Par exemple, dans Visual Studio 2005, si vous cliquez avec le bouton droit sur le nom du site Web dans l'Explorateur de solutions et cliquez sur Ajouter une référence dans le menu contextuel, vous pouvez utiliser une boîte de dialogue qui vous permet de sélectionner un assembly à ajouter. Lorsque vous sélectionnez l'assembly, le concepteur ajoute automatiquement l'entrée concernée au fichier Web.config.

Voir aussi

Tâches

Procédure pas à pas : développement et utilisation d'un contrôle serveur personnalisé

Autres ressources

Développement de contrôles serveur ASP.NET personnalisés