[C#][ASP.NET]Prob création webcontrol contenant d'autres webcontrols
outcast_fr
Messages postés11Date d'inscriptionjeudi 10 novembre 2005StatutMembreDernière intervention11 avril 2006
-
11 avril 2006 à 12:36
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 2010
-
11 avril 2006 à 15:50
Bonjour,
Je veux créer un composite control qui contiendra plusieurs contrôles de base (bouton, textbox, liste déroulante ...).
J'ai simplifié mon problème pour vous l'exposer.
Mon webcontrol ne contient qu'un textbox avec les accesseurs (get/set).
Dans le designer, je peux donc accéder à toutes les propriétés de mon textbox (étant donné que j'ai un accesseur sur ce textbox comme attribut de mon webcontrol).
Le problème est que si je change une des propriétés (la couleur de fond, le champ texte ...), aucun changement n'a lieu ni dans le designer ni dans la page html générée.
Je me suis rendu compte par contre que si je change tout de suite après une propriété de mon webcontrol comme sa taille (width / height) alors le changement de couleur de fond par exemple est bien pris en compte en mode design (mais pas dans la page html générée).
Enfin si je bascule en mode source puis que je reviens en mode design, la couleur de fond est re-initialisée (blanc par défaut).
Si vous pouvez m'aider ce serait sympat (j'aimerais que les changements soient pris en compte et persistent).
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.Design;
using System.Web.UI.Design.WebControls;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Drawing;
using System.Collections;
using System.IO;
namespace WebControlsBasic
{
public class TestWebControl : CompositeControl, INamingContainer
{
private TextBox _MonTextBox = new TextBox();
public TextBox TheTextBox
{
get { return _MonTextBox; }
set { _MonTextBox = value; }
}
public override ControlCollection Controls
{
get
{
EnsureChildControls();
return base.Controls;
}
}
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 11 avril 2006 à 15:50
Bonjour,
tu touches à un point critique du developpement de controle pour visual studio .net, pour resoudre ton problème il va te falloir utiliser un designer via un attribut. Tu as un article qui m'a expliqué tout ca ici : http://www.dotnet-tech.com/tutoriels/wisiwyg/