Création d'objet dynamique

Signaler
Messages postés
8
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
11 août 2004
-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
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

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
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
Messages postés
8
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
11 août 2004

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
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
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