Création d'objet dynamique

ascj Messages postés 8 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 11 août 2004 - 22 juil. 2004 à 17:59
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 23 juil. 2004 à 12:43
Bonjour,
je suis débutant en asp.net avec le langage c#.
Je voudrais savoir comment faire pour creer dynamiquement un objet de type webform.
Car lorsque qu'on l'insert manuellement dans un page aspx, il y a code html de cree.
Je desire, lorsque je clique sur un boutton, qu'un calendrier apparaisse.
Le Pb c'est que l'objet est cree mais n'apparait pas car il n'y a pas de methode show.

merci d'avance

3 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 juil. 2004 à 21:13
dim c1 as new calendar
c1.qqchose = ...... 'configuration de ton calendrier
page.controls.add(c1)

un conseil si tu veux faire de la bonne programmation en asp.net, oublie tout ce que t'as vu sur des app winform, car tu vas te mélanger.
Tu travailles sur des webforms, et c'est completement different des winforms ....

@+

Cyril
0
ascj Messages postés 8 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 11 août 2004
23 juil. 2004 à 08:42
Le pb C que lorsque je cree l'objet il met comme erreur

Détails de l'exception: System.Web.HttpException: Le contrôle '_ctl0' de type 'Calendar' doit être placé dans une balise form avec runat=server

Pour creer l'objet je fais :

Calendar cal = new Calendar();

cal..-> les options de mise en forme

Page.Controls.Add(cal);

Pour pouvoir positionner le cal je fais:
cal.Style["TOP"]="0px";
cal.Style["Left"]="0px";

Ce qu'il entend par balise forme C :

Mais comment on fait pour ajouter cette ligne.

Deplus C pas très dynamique car pour finaliter C une classe Calendrier qui héritera des propriétés de Calendar et que id m'a l'air d'une déclaration statique
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
23 juil. 2004 à 12:43
la ligne <asp:... doit etre mis à l'interieur du fichier aspx et à l'interieur de la balise Form.

si tu veux faire juste un composant (fichier vb seul) et non un ascx (UserControl) ou une page, il faut pas utiliser page.controls.add, tu peux l'utiliser seulement pour les pages ou les UC sinon pour les controles tu dois faire me.controls.add()

attention car une fois que tu l'as ajouté tu peut plus le modifier, donc cal.Style .... ne sera pas pris en compte

@+

Cyril
0
Rejoignez-nous