Affectation dynamique d'un identifiant LISTBOX ASP.NET C#
garcimor59
Messages postés66Date d'inscriptionmardi 18 juillet 2006StatutMembreDernière intervention 6 mars 2008
-
11 oct. 2007 à 17:32
garcimor59
Messages postés66Date d'inscriptionmardi 18 juillet 2006StatutMembreDernière intervention 6 mars 2008
-
17 oct. 2007 à 09:08
Bonjour à tous,
Voilà j'utilise le code suivant pour afficher dynamiquement des list box dans une page aspx en fonction du nombre de CLT que j'ai dans ma base (sqlserver)
J'ai une erreur sur la ligne en rouge : Parser Error Message: The server tag is not well formed.
J'ai essayé avec un banal select et ça fonctionne... mais là en passant par un textbox il est pas content...
Pourriez-vous m'aider svp?? Merci
Ou alors si vous connaissez une méthode pour afficher dynamiquement des listbox avec des infos provenant d'une BDD je suis preneur aussi lol...
Sinon j'avais essayé avec en mettant un panel dans mon aspx et en le remplissant dans le code-behind.. ça fonctionnait bien aussi... mais comme je dois encadré ma listbox avec un label et un bouton c'est la merde...
jojo2666
Messages postés21Date d'inscriptionvendredi 26 novembre 2004StatutMembreDernière intervention12 octobre 2007 11 oct. 2007 à 17:50
je vois pas ou est le probleme de la solution N°2....
moi elle me plait tres bien..
"Sinon j'avais essayé avec en mettant un
panel dans mon aspx et en le remplissant dans le code-behind.. ça
fonctionnait bien aussi... mais comme je dois encadré ma listbox avec
un label et un bouton c'est la merde..."
de toute facon tu dois parcourir ta colleciton... alors ou est le probleme en plus de rajouter la listbox dans le panel, de mettre avant un label contenant le champs que tu veux, et apres d'y ajouter un bouton!
Mais TD sans dans la page aspx... donc faudrait que je fasse 3 panel.. c'est un peu lourd non??
Sinon j'avais pensé faire un controle user et l'incorporé... mais bon j'ai trouvé un méthode sur le net... il me fait pas d'erreur.. mais il ne m'affiche pas mon controle.. de plus avec cette méthode je ne sais pas comment affecté des ID dynamiquement au label, button et listbox...
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 11 oct. 2007 à 21:00
Bonjour,
pourquoi tu veux affecter des ID au controle ? le Repeater, enfin RepeaterItem, implémente INamingContainer tu peux donc avoir plusieurs fois le meme id de controle dans la page, l'interface INamingContainer va se charger de créer les ID uniques automatiquements
Si tu veux ensuite récuperer une ligne de ton repeater tu peux faire (DataList)rptTruc.Items[i].FindControl("dlTruc") ... généralement on utilise ca dans l'event ItemDataBound ou ItemCreated et on récuperer le RepeaterItem dans e.
Par contre pourquoi créer un Tableau avec un repeater ? C'est le role du gridview ! il est prévu pour ca, cela sera beaucoup moins compliqué d'utiliser les contrôles adéquats.
Ca marche du tonnerre, j'ai donc en fonction des clients des IDs du genre, idCLT1, idCLT2,....
Ce qui me permet de les réutiliser facilement dans mes javascript.
Mais l'utilisation dans le codebehind en C# est plus compliquée en effet j'ai testé :
ListBox test = (ListBox)createCLT.FindControl("idCLT1");
Et test est null.... (Ca me parait normal, mais l'est-ce vraiment?)
Ma question est donc comment puis-je faire pour definir l'ID de mon choix en utilisant un contrôle ASP (ListBox) dans mon Repeater...
Exemple qui ne fonctionne pas :
" CssClass="choicelist" runat="server">
Ou alors auriez-vous une solution pour que je puisse manipuler mon select dans le CodeBehind.
Merci d'avoir pris le temps de me lire et surtout merci si vous avez une solution lol!
++
Vous n’avez pas trouvé la réponse que vous recherchez ?
garcimor59
Messages postés66Date d'inscriptionmardi 18 juillet 2006StatutMembreDernière intervention 6 mars 2008 16 oct. 2007 à 17:53
Je souhaite affecter des ID aux controles pour pouvoir les manipuler également en Javascript...
Je pense qu'avec ta méthode je pourrais m'en sortir en C# pour manipuler les controles crées.... quoique que ça serait plus simple pour moi d'avoir un ID de type ID_CLTx