Laurent Duveau
Expression Web et l'AJAX Toolkit
Voici comment gérer les contrôles personnalisés dans Expression Web
Par Laurent Duveau publié le 20/11/2007 à 06:41, lu 7245 fois,
Dès lors que vous éditez un site ASP.NET dans Expression Web, 2 constats à faire:
  1. Le logiciel ne supporte pas les custom controls dans la toolbox
  2. Les customs controles ne s'affichent pas et génèrent une erreur dans le designer.
L'exemple typique: un site ASP.NET AJAX qui utilise l'AJAX Control Toolkit:
 
Les contrôles AJAX apparaîssent cassés dans Expression Web

Les contrôles AJAX apparaîssent cassés dans Expression Web

 
Cependant il existe un moyen de rendre les contrôles AJAX compatibles avec le designer de Expression Web, et ceci est valable pour n'importe quel contrôle personnalisé.

Il vous faut installer l'assembly du contrôle dans le GAC.
Dans la console de commande du .NET 2.0: gacutil –i nom_assembly.dll
 
Enregistrement de la dll dans le GAC

Enregistrement de la dll dans le GAC

 
Notez sa version et la clé publique.
 
Détails de l'assembly ajoutée dans le GAC

Détails de l'assembly ajoutée dans le GAC

 
Ensuite dans les pages aspx, faire une référence à l'assembly en utilisant le nom complet (important).

<%@ Register

    Assembly="AjaxControlToolkit, Version=1.0.10920.32880, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e"

    Namespace="AjaxControlToolkit"

    TagPrefix="ajaxToolkit" %>

Une alternative est d'utiliser la section <controls> du fichier web.config:

<configuration>

  <system.web>

    <pages>

      <controls>

        <add assembly="AjaxControlToolkit, Version=1.0.10920.32880, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e"

            namespace="AjaxControlToolkit"

            tagPrefix="ajaxToolkit" />

      </controls>

    </pages>

  </system.web>

</configuration>

Voila, désormais vos contrôles apparaîssent dans Expression Web et vous profitez même des Smart Tags et de l'IntelliSense dans le code.
 
Le contrôles Accordion fonctionnel dans Expression Web!

Le contrôles Accordion fonctionnel dans Expression Web!

 
 
» Démarrer une discussion