Accueil > Forum > > > > [ASP2] Tuto pour un WebControl ?
[ASP2] Tuto pour un WebControl ?
mercredi 10 mai 2006 à 10:53:21 |
[ASP2] Tuto pour un WebControl ?

smoitry
|
Bonjour ! Quelqu'un connait-il un bon tuto sur la création de WebControls avec possibilité de rajouter des Items sous forme de tags enfants (comme on peuple un asp:ListBox avec des asp:ListItem) mais dont les Items seraient d'une classe personnalisée (pas des simples asp:ListItem mais par exemple perso:ItemPerso) et qui fonctionne correctement dans le Designer ? Je sèche et mon message précédent concernant mon problème n'a trouvé aucune réponse ! Merci d'avance !!!  A+ Stéphane
|
|
mercredi 10 mai 2006 à 12:03:40 |
Re : [ASP2] Tuto pour un WebControl ?
|
vendredi 12 mai 2006 à 13:04:57 |
Re : [ASP2] Tuto pour un WebControl ?

smoitry
|
Réponse acceptée !
Salut Jesusonline !
Merci pour tes réponses, j'ai trouvé exactement ce dont j'avais besoin sur le lien suivant :
[ Lien ]
Lien que j'ai trouvé sur la deuxième page que tu m'as indiqué ... C'est parfait, je te remercie pour ton aide !
A+
Stéphane
|
|
dimanche 14 mai 2006 à 14:05:50 |
Re : [ASP2] Tuto pour un WebControl ?

smoitry
|
Salut Jesusonline !
Petite question : tout marche, même plus que je ne pensais, j'ai fait le DataBinding comme dans le tutoriel, c'es génial. Mais (et là je parle de l'exemple du tuto que j'ai suivi à la lettre), lorsque je remplis les propriétés qui renseignent les noms des champs dans lesquels puiser les infos, à chaque fois que je passe dans le designer, il m'ajoute automatiquement 3 items avec le champ Text positionné à "abc", comment éviter que cela se produise ?
Merci ! A+
Stéphane
|
|
dimanche 14 mai 2006 à 16:07:37 |
Re : [ASP2] Tuto pour un WebControl ?

jesusonline
|
Je ne comprend pas trop le problème, quelles propriété modifies tu ? peux tu me montrer le markup qui en resulte?
Cyril - MVS - MCP
|
|
mercredi 17 mai 2006 à 23:09:13 |
Re : [ASP2] Tuto pour un WebControl ?

smoitry
|
Salut, désolé pour la réponse tardive ! Hier soir le site était en maintenance (évolutive apparemment ;-)) (bon et puis là je pensais que ma réponse était passée mais visiblement pas ..., j'espère que là ça passe)
Alors voilà, j'ai fait le tuto, donc un contrôle ButtonList, qui dans une collection Items contient des définitions de boutons, et les instancie au rendu. Dès que je remplis les propriétés DataCommandField et DataTextField (après avoir renseigné au préalable DataSourceID), le designer ajoute automatiquement des éléments "abc" à la collection Items, sans que je ne lui demande rien ... voici le markup en mode "source" :
<
SMWeb
:
ButtonList
ID
="ButtonList1"
runat
="server"
DataCommandField
="Commande"
DataSourceID
="SqlDataSource1"
DataTextField
="Titre"> <
Items
> <
SMWeb
:
ButtonItem
CommandName
="New"
Text
="Ceci est un bouton"
/> <
SMWeb
:
ButtonItem
CommandName
="Edit"
Text
="Ca c'est pour éditer"
/> <
SMWeb
:
ButtonItem
CommandName
="abc"
Text
="abc"
/> <
SMWeb
:
ButtonItem
CommandName
="abc"
Text
="abc"
/> <
SMWeb
:
ButtonItem
CommandName
="abc"
Text
="abc"
/> <
SMWeb
:
ButtonItem
CommandName
="abc"
Text
="abc"
/> <
SMWeb
:
ButtonItem
CommandName
="abc"
Text
="abc"
/> <
SMWeb
:
ButtonItem
CommandName
="abc"
Text
="abc"
/> <
SMWeb
:
ButtonItem
CommandName
="abc"
Text
="abc"
/> <
SMWeb
:
ButtonItem
CommandName
="abc"
Text
="abc"
/> <
SMWeb
:
ButtonItem
CommandName
="abc"
Text
="abc"
/> <
SMWeb
:
ButtonItem
CommandName
="abc"
Text
="abc"
/> </
Items
> </
SMWeb
:
ButtonList
>
Les deux premiers Items, je les ai remplis à a main, les autres contenant "abc" sont ajoutés tous seuls ... Comment faire pour éviter cela ?
Si tu as une soluce, je suis preneur !!!
Merci d'avance !
Stéphane
|
|
mercredi 17 mai 2006 à 23:39:13 |
Re : [ASP2] Tuto pour un WebControl ?

jesusonline
|
euh *-) c'est ouf ca :p abc ca vient de qqpart de ton code ? ta propriété items c'est quoi ? une list<truc> ou alors un tableau de truc (truc[]), si c'est un tableau de truc passe plutot par une list<truc> sinon j'en ai aucune idée :s Cyril - MVS - MCP
|
|
vendredi 19 mai 2006 à 13:59:22 |
Re : [ASP2] Tuto pour un WebControl ?

smoitry
|
Alors, Items c'est de type LinkBoxItemCollection Et LinkBoxItemCollection ça hérite : publicclassLinkBoxItemCollection : Collection<LinkBoxItem> { publicvoid LoadViewState(object state) { if (state != null) { Pair p = (Pair)state; Clear(); Pair One = (Pair)p.First; Pair Two = (Pair)p.Second; string[] rgTitle = (string[])One.First; string[] rgUrl = (string[])One.Second; string[] rgTarget = (string[])Two.First; string[] rgDesc = (string[])Two.Second; for (int i = 0; i < rgTitle.Length; i++) { Add(newLinkBoxItem(rgTitle[i], rgUrl[i], rgTarget[i], rgDesc[i])); } } } publicobject SaveViewState() { int numOfItems = Count; object[] rgTitle = newstring[numOfItems]; object[] rgUrl = newstring[numOfItems]; object[] rgTarget = newstring[numOfItems]; object[] rgDesc = newstring[numOfItems]; for (int i = 0; i < numOfItems; i++) { rgTitle[i] = this[i].Title; rgUrl[i] = this[i].Url; rgTarget[i] = this[i].Target; rgDesc[i] = this[i].Desc; } Pair One = newPair(rgTitle, rgUrl); Pair Two = newPair(rgTarget, rgDesc); returnnewPair(One, Two); } }
Et sinon, abc n'est présent nulle part dans mon code !!! En fait, ça ressemble plutôt à un automatisme du designer qui ajouterait des objets automatiquement pour prévisualiser le contrôle alors que la propriété Items serait vide ... Le problème, c'est qu'il le fait systématiquement !!!
Merci pour ton aide ! A+
Stéphane
|
|
dimanche 21 mai 2006 à 15:11:16 |
Re : [ASP2] Tuto pour un WebControl ?

jesusonline
|
Je comprend pas pourquoi tu as loadviewstate et saveViewstate dans ta collection :-/ dans le code de ton userControl comment déclares tu ta propriété ? il faut absolument la mettre en readonly si je me souviens bien : private _items as new List(of LinkBoxItem) public default readonly property items as List( ofLinkBoxItem) get return _items end get end property et ca devrait peut etre j'espere mieux fonctionner :p Cyril - MVS - MCP
|
|
lundi 29 mai 2006 à 14:55:37 |
Re : [ASP2] Tuto pour un WebControl ?

smoitry
|
Salut, Je rentre de congés ! Merci pour ta réponse ... En fait le loadviewstate et le saveviewstate c'est selon le tuto que tu m'avais filé parce que c'est plus rapide de sérialiser et désérialiser les items en faisant des paires de tableaux qu'en laissant le sérialiseur par défaut du framework ... Sinon pour la propriété, elle est déclarée comme ça : privateButtonItemCollection _items;
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] [PersistenceMode(PersistenceMode.InnerProperty)] publicvirtualButtonItemCollection Items { get { if (_items == null) { _items = newButtonItemCollection(); if (base.IsTrackingViewState) base.TrackViewState(); } return _items; } }
Comme tu vois, je suis en CSharp, je pense que le Readonly de VB correspond à ne pas implémenter le "set" de la propriété ...
Ouh lààà je vois aussi que dans un post précédent je t'ai mis le source d'une classe LinkBoxItemCollection, j'ai inversé j'aurais dû te mettre celle de ButonItemCollection. Mais de toute façon le problème est le même, les deux classes ont le même contenu à une différence près : ButonItem n'a que deux propriétés string, et donc ne fait qu'une seule paire dans le loadviewstate et saveviewstate.
En fait, si tu reprends le markup suivant : <SMWeb:ButtonListID="ButtonList1"runat="server"DataCommandField="Commande"DataSourceID="SqlDataSource1"DataTextField="Titre"> <Items> <SMWeb:ButtonItemCommandName="New"Text="Ceci est un bouton"/> <SMWeb:ButtonItemCommandName="Edit"Text="Ca c'est pour éditer"/> <SMWeb:ButtonItemCommandName="abc"Text="abc"/> <SMWeb:ButtonItemCommandName="abc"Text="abc"/> <SMWeb:ButtonItemCommandName="abc"Text="abc"/> <SMWeb:ButtonItemCommandName="abc"Text="abc"/> <SMWeb:ButtonItemCommandName="abc"Text="abc"/> <SMWeb:ButtonItemCommandName="abc"Text="abc"/> <SMWeb:ButtonItemCommandName="abc"Text="abc"/> <SMWeb:ButtonItemCommandName="abc"Text="abc"/> <SMWeb:ButtonItemCommandName="abc"Text="abc"/> <SMWeb:ButtonItemCommandName="abc"Text="abc"/> <SMWeb:ButtonItemCommandName="abc"Text="abc"/> <SMWeb:ButtonItemCommandName="abc"Text="abc"/> <SMWeb:ButtonItemCommandName="abc"Text="abc"/> <SMWeb:ButtonItemCommandName="abc"Text="abc"/> <SMWeb:ButtonItemCommandName="abc"Text="abc"/> </Items> </SMWeb:ButtonList>
qui est donc généré, en fait, il n'y a que les deux premiers objets ButtonItem que j'ai créés manuellement dans le designer en éditant la propriété Items. Ensuite, je définis un DataSourceID, puis le DataCommandField et le DataTextField pour faire la laison de données, et immédiatement le designer ajoute tous ces objets "abc" sans que je ne lui dise rien. Et du coup les objets se sérialisent dans le markup. Ensuite, quand je lance le projet pour afficher la page, l'objet ButtonList contient tous les éléments ButtonItem du markup, suivis de ceux lus dans la table de base de données qui est liée par le DataSourceID...
Donc moi ce qui m'arrangerait, c'est qu'au lieu de ça, le designer lise directement la base liée pour m'afficher les bons objets, mais à la rigueur s'il ne sait pas le faire ce n'est pas grave, je peux me contenter des objets abc, mais il ne faut pas qu'il génère le markup !
As-tu une idée ?
Merci ! Stéph.
|
|
Cette discussion est classée dans : asp, tuto, items, webcontrol, asp2
Répondre à ce message
Sujets en rapport avec ce message
Collection de webcontrol en asp.net [ par pascalwick ]
voila je suis entrain de developper une dll de traduction qui va traduire une page et tous ses webcontrols.je desire donc faire une boucle pour trouve
[asp][1.1] Petit problème de listBox et de coloration [ par SupaLou ]
Je cherche un modifier la couleur de certain items appartenant à la même ListBox:Je parcours donc ma listBox et fait un test sur chaque item puis j'es
ASP envoie d'Email [ par adil_ista ]
bonjour je voudrais envoyer un email avec ASP j'ai ce code : <% Set myMail=CreateObject("CDO.Message") myMail.Subject="Sending email with CDO" myMai
[ASP.NET] Remplir un datagrid [ par malhivertman1 ]
Bonjour, j'ai un datagrid apelé Grid1 que j'aimerai remplir suite a une requete. Je fais donc Code :<pre class="alt2"
Image Button [ par elpens ]
Bonjour, Je suis actuellement bloqué et je recherche un peu d'aide.Voilà:J'ai un gridView lié avec une db qui m'affiche des alertes. J'aimerais que qu
Flash & ASP.Net [ par hichamveo ]
je savoir comment integrer une animation flash (*.swf) dans une page web *.aspx;Merci a ceux qui me repondre;
Webcontrol+reflection [ par Aspix ]
Bonjour, Voilà, j'ai un petit projet sur lequel j'ai placé des composants Webcontrol personnalisé.J'aimerai faire une page qui va me permettre d'aller
community server pour asp.net 2.0 [ par norman bates ]
Bonjour tout le monde je souhaite savoir si il existe community server pour la version 2.0 d'asp.netMerci d'avance de vos réponses et bon dimanche :)V
un blog en asp.net [ par norman bates ]
Bonsoir tout le monde j'avais découvert il y a quelques un CMS pour un blog en dot net mais je ne me rapelle plus du nom et après recherche sur google
Création report avec reporting service et ASP.NET [ par lolowan ]
Bonjour,Je travaille sous Visual Studio 2003 en ASP.NET/C#.Pour la génération de report j'utilise reporting service de Microsoft SQL Server.J'ai besio
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|