Events dans des Custom Controls

Signaler
Messages postés
142
Date d'inscription
jeudi 10 février 2005
Statut
Membre
Dernière intervention
2 octobre 2008
-
Messages postés
142
Date d'inscription
jeudi 10 février 2005
Statut
Membre
Dernière intervention
2 octobre 2008
-
Bonjour,

je solicite votre aide car je suis un peu coincé.
J'ai créé un custom control qui derive de GridView. Celui-ci ajoute à la grille des boutons perso, qui leve des evenements lorsque je clique sur l'un d'eux.
Dans ma page aspx, je veux m'abonner à ces evenements là. J'écris donc:

<cc1:ListGrid
ID="ListGrid1"
runat="server"
ShowInfoColumn=true
  OnAccess="ListGrid1_Access"
OnDelete="ListGrid1_Delete"
OnDuplicate="ListGrid1_Duplicate"
OnEdit="ListGrid1_Edit">
</cc1:ListGrid>

Mais le compilateur génère cette erreur : "The type name 'ListGrid' does not exist in the type 'ListGrid.ListGrid". Je ne comprends pas pourquoi j'ai cette erreur... Lorsque j'enleve les abonnements aux events, le projet compile... Savez-vous pourquoi ?

7 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Bonjour,

Dans le web.config tu peux ajouter ca :

<

pages>
     <controls>
           <addassembly="
Itelios.Web"
namespace="
Itelios.Web.UI"
tagPrefix="
it"
/>
     </controls>
</pages>Dans ce cas namespace="Itelios.Web" est le nom de mon namespace qui contient le controle, assembly est le nom de l'assembly qui contient le controle : par convention c'est le nom de la dll et tagprefix c'est ce qui correspond à cc1 dans ton code, à partir de la tu peux faire un

et tu n'as pas besoin de rajouter d'autres choses dans ta page.

Je pense que c'est là qu'est le problème dans ton code.

<hr />Cyril - MVS - MCP
Messages postés
142
Date d'inscription
jeudi 10 février 2005
Statut
Membre
Dernière intervention
2 octobre 2008
6
J'ai donc mis dans le web.config:

<configuration>
  <pages>
    <controls>
      <addassembly="
ListGrid"
namespace="
ListGrid"
tagPrefix="
CCListGrid"
/>
    </controls>
  </pages>
</configuration>

Ensuite dans mon ficher aspx, j'ai mis:

<CCListGrid:ListGrid
ID="ListGrid1"
runat="server"></CCListGrid:ListGrid>

...mais il ne reconnait pas le préfixe CCListGrid... Heu, j'avoue ne pas trop comprendre cette manip là...
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Le nom de la DLL et le namespace de ton control est bien ListGrid ? Tu as bien fait référence à ta dll dans ton projet web ?

<hr />Cyril - MVS - MCP
Messages postés
142
Date d'inscription
jeudi 10 février 2005
Statut
Membre
Dernière intervention
2 octobre 2008
6
Oui, j'ai créé un projet ListGrid dans lequel j'ai un fichier ListGrid.cs. La classe dérivant de GridView est contenue dans ce fichier est ListGrid, faisant partie du namespace ListGrid. Dans le répertoire Bin du projet Web, j'ai bien la DLL ListGrid.dll...
Messages postés
142
Date d'inscription
jeudi 10 février 2005
Statut
Membre
Dernière intervention
2 octobre 2008
6
La section doit bien être mise dans la section <configuration>, ou bien dans une autre section ?
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
La section page est un fils de system.web qui est un fils de configuration (VS 2005 ou Visual Web Dev Express a l'intellisense ce qui est TRES pratique) Je ne vois malheureusement pas plus d'ou peut venir le problème.

<hr />Cyril - MVS - MCP
Messages postés
142
Date d'inscription
jeudi 10 février 2005
Statut
Membre
Dernière intervention
2 octobre 2008
6
Arf pas grave.  Je me suis abonné aux evenements du Custom Control dans le OnLoad de la page, code C#, et non coté ASP. Là, il n'y a pas de problemes.

Merci quand meme pour tout !