gatita_dev
Messages postés135Date d'inscriptionvendredi 27 mai 2005StatutMembreDernière intervention 5 février 2008
-
8 déc. 2006 à 11:07
gatita_dev
Messages postés135Date d'inscriptionvendredi 27 mai 2005StatutMembreDernière intervention 5 février 2008
-
11 déc. 2006 à 11:51
Bonjour
comme le dit le titre je veux pouvoir ajouter un control utilisateur dans une page aspx à partir du code behind
j'ai fait ce code pour affecter une page à un
SuperBouly
Messages postés410Date d'inscriptiondimanche 1 février 2004StatutMembreDernière intervention 8 mai 2010 9 déc. 2006 à 10:21
Bonjour,
marche aussi :
dim monControl as MonUserControl=LoadControl("MonCheminRelatif/MonUserControl.ascx")
puis chargement dans un panel ou placeholder
là, on peut, il me semble, le mettre où on veut(à vérifier !)
@+G
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 8 déc. 2006 à 20:04
Salut,
1) arg, tu fais de l'ASP.NET là !! pas de l'ASP3 :p ! Donc l'utilisation de Response.Write est à proscrire absolument !
Pour écrire du texte (HTML ou non) dans ta page, utilise le control Label (qui va afficher le contenu dans un ) ou le control Literal (qui lui va renvoyé directement le contenu de sa propriété .Text).
2) Toujours pareil, en ASP.NET, le Server.Execute() de l'ASP ne doit absolument pas être utilisé (surtout pas pour une page aspx, et non plus pour un control utilisateur d'ailleurs)
Utilises des UserControls, ".ascx" avec une clause register
Si tu veux ajouter dynamiquement un UserControl, rajoute dans ta page un PlaceHolder, et ajoute dynamiquement le controle dedans :
Dim monControl As New MonUserControl()
MonPlaceHolder.Controls.Add(monControl)
3) Attention : tous ces ajouts de contrôles doivent être fait dans le Page_Init, et n'oublie pas d'ajouter en haut de ta page .aspx ou tu utilises ton UserControl une directive Register.
Je te conseille quand même de réviser les bases d'ASP.NET : ça a l'air pareil qu'ASP (ou php, ou autres langages web interprétés), mais il y a certaines choses obsolètes à éviter...
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 9 déc. 2006 à 13:07
Arf, effectivement SuperBouly, mon extrait de code est pour les CustomControls, pas pour les UserControls... (je critique, et c'est moi qui fait une magnifique erreur assez bête...lol)
Donc, gatita_dev, utilises plutôt, pour charger un UserControl, ce que vient de te donner SuperBouly
gatita_dev
Messages postés135Date d'inscriptionvendredi 27 mai 2005StatutMembreDernière intervention 5 février 2008 11 déc. 2006 à 10:19
oui en effet c'est ce que j'ai fait mais j'arrive pas à placer le placeholder dynamiquement là ou je veux, j'ai placé mes div en utilisant une feuille de style et le htmlgenericcontrol mais j'arrive pas à placé le place holder dans une div, il s'affiche en bas des div.
Est ce que je dois absolument définir mes div et mon placeholder avant de passer au code behind??? ou il y a une autre solution qui m'échape
Vous n’avez pas trouvé la réponse que vous recherchez ?
gatita_dev
Messages postés135Date d'inscriptionvendredi 27 mai 2005StatutMembreDernière intervention 5 février 2008 11 déc. 2006 à 11:51
Enfin j'ai fait comme cela mais je veux juste savoir si ça marche avec les normes asp.net:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim myControl As UserControl = LoadControl("_myControl.ascx")
Dim menu, contenu, bandeau, pied_page As New HtmlGenericControl
bandeau.TagName = "div"
menu.TagName = "div"
contenu.TagName = "div"
pied_page.TagName = "div"
bandeau.ID = "bandeau"
menu.ID = "menu"
contenu.ID = "contenu"
pied_page.ID = "pied_page"
contenu.Controls.Add(myControl)
Page.Controls.Add(bandeau)
Page.Controls.Add(menu)
Page.Controls.Add(contenu)
Page.Controls.Add(pied_page)
End Sub
J'ai pas utilisé le placeHolder puisque ça fonctionne sans, et j'ai pas ajouter le control dans le page_init.
si c'est pas comme ça que je dois faire merci de me rectifier
Bonne journée