Events dans des Custom Controls

zigxag Messages postés 142 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 2 octobre 2008 - 22 août 2006 à 19:03
zigxag Messages postés 142 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 2 octobre 2008 - 30 août 2006 à 09:26
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

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
22 août 2006 à 19:57
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
0
zigxag Messages postés 142 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 2 octobre 2008 12
23 août 2006 à 12:20
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à...
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
23 août 2006 à 13:57
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
0
zigxag Messages postés 142 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 2 octobre 2008 12
23 août 2006 à 14:02
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...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zigxag Messages postés 142 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 2 octobre 2008 12
23 août 2006 à 14:09
La section doit bien être mise dans la section <configuration>, ou bien dans une autre section ?
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
29 août 2006 à 21:12
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
0
zigxag Messages postés 142 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 2 octobre 2008 12
30 août 2006 à 09:26
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 !
0
Rejoignez-nous