IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Acc�der aux propri�t�s publiques de mes UserControls dans le code behind


Sujet :

ASP.NET

  1. #1
    Membre �clair�
    Avatar de strat0
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Par d�faut Acc�der aux propri�t�s publiques de mes UserControls dans le code behind
    Bonjour,

    Voil� je me suis pris au jeu de cr�er mes propres UserControls, et �a semble bien pratique.

    Mais!... Je n'arrive pas � les cr�er dynamiquement dans le code behind de ma page web de mani�re � pouvoir les configurer par le biais de leurs propri�t�s publiques. Il semble que ce soit un propre de r�f�rence de classe/espace de nom/assembly, et j'avoue �tre un peu perdu dans tout �a.

    Mes quatre contr�les utilisateurs (fichiers .ascx) sont dans un r�pertoire "MesControles". J'ai encadr� leurs classes partielles dans le code behind d'un espace de nom commun "MesControles" :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    namespace MesControles
    {
        public partial class InfosConcert : System.Web.UI.UserControl
        {
        }
    }
    Dans web.config j'ai ajout� ces r�f�rences :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <system.web>
    	<customErrors mode="Off"/>
      <pages>
        <controls>
    			<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    			<add tagPrefix="ajaxToolkit" namespace="AjaxControlToolkit" assembly="AjaxControlToolkit"/>
          <add tagPrefix="UC" tagName="InfosConcert" src="~/MesControles/InfosConcert.ascx"/>
          <add tagPrefix="UC" tagName="InfosSupport" src="~/MesControles/InfosSupport.ascx"/>
          <add tagPrefix="UC" tagName="InfosPiste" src="~/MesControles/InfosPiste.ascx"/>
          <add tagPrefix="UC" tagName="InfosInter" src="~/MesControles/InfosInter.ascx"/>
    		</controls>
    	</pages>
    Du coup je peux cr�er sans probl�me ces contr�les en mode design, mais pas en mode runtime. J'aurais besoin de pouvoir faire �a :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    protected void ListBoxResultat_SelectedIndexChanged(object sender, EventArgs e)
        {
            InfosConcert infosConcert = new InfosConcert();
            infosConcert.DateCreation = "12/12/2008";
            ((PlaceHolder)infosConcert.Support).Controls.Add(new TextBox());
            PlaceHolderResultat.Controls.Add(infosConcert);
        }
    Voil�, si quelqu'un avait la gentillesse de m'aider � me d�p�trer.

  2. #2
    Membre chevronn�
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par d�faut
    tu as essayer avec un LoadControl?

    et pourquoi tu ne peux pas faire ce que tu as ecris?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    protected void ListBoxResultat_SelectedIndexChanged(object sender, EventArgs e)
        {
            InfosConcert infosConcert = new InfosConcert();
            infosConcert.DateCreation = "12/12/2008";
            ((PlaceHolder)infosConcert.Support).Controls.Add(new TextBox());
            PlaceHolderResultat.Controls.Add(infosConcert);
        }

  3. #3
    Membre �clair�
    Avatar de strat0
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Par d�faut
    Citation Envoy� par gyzmau Voir le message
    tu as essayer avec un LoadControl?

    et pourquoi tu ne peux pas faire ce que tu as ecris?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    protected void ListBoxResultat_SelectedIndexChanged(object sender, EventArgs e)
        {
            InfosConcert infosConcert = new InfosConcert();
            infosConcert.DateCreation = "12/12/2008";
            ((PlaceHolder)infosConcert.Support).Controls.Add(new TextBox());
            PlaceHolderResultat.Controls.Add(infosConcert);
        }
    Oui j'ai essay� LoadControl, qui me permet de charger le UserControl en tant que simple Control mais pas d'acc�der � ses propri�t�s publiques.

    En fait mon programme ne trouve pas la classe InfosConcert (elle n'appara�t pas dans Intellissense) et je ne sais pas trop comment l'y aider. �a m'interdit de mettre les UserControl dans App_Code comme je le ferais avec un simple fichier de classe.

    J'esp�re ne pas �tre trop confus, j'ai encore du mal avec ces notions pourtant basiques de prog objet.

  4. #4
    Membre chevronn�
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par d�faut
    pour le LoadControl:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    MyCtrl _uc = (MyCtrl)LoadControl("../UserControl/MyCtrl.ascx");
    Sinon pour ton probl�me de namespace.
    Si intellisence le trouve c'est qu'il doit y avoir un probl�me.

    Mais normalemnt il n'y a m�me pas besoin d'intellisence.

    t'as essay� en mettant using MesControles; (Mais bon ca m'etonnerais intellisence aurais du le trouver).

    Quel est le namespace de ta page?

    Tu as change le namespace de tes UserControls(par rapport a celui gener� automatiqument)?

  5. #5
    Membre �clair�
    Avatar de strat0
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Par d�faut
    Citation Envoy� par gyzmau Voir le message
    pour le LoadControl:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    MyCtrl _uc = (MyCtrl)LoadControl("../UserControl/MyCtrl.ascx");
    Sinon pour ton probl�me de namespace.
    Si intellisence le trouve c'est qu'il doit y avoir un probl�me.

    Mais normalemnt il n'y a m�me pas besoin d'intellisence.

    t'as essay� en mettant using MesControles; (Mais bon ca m'etonnerais intellisence aurais du le trouver).

    Quel est le namespace de ta page?

    Tu as change le namespace de tes UserControls(par rapport a celui gener� automatiqument)?
    Lorsque j'ai cr�� mes UserControls (fichiers .ascx) aucun namespace ne leur a �t� attribu�. Je leur en ai ajout� un ("MesControles").

    Ajouter using MesControles; dans le code behind ne change rien, il ne conna�t pas la classe InfosConcert.

    Et ma page n'a pas de namespace.

  6. #6
    Membre chevronn�
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par d�faut
    euh alors l� je vais passer la main.

    Pas de namespace dans ta page c'est possible? ni dans tes usercontrols quand tu les cr�er Je trouve ca bizarre.

    Mais attention rien d'alarmant c'est peut etre normal. Il faudrait un avis de qqn de plus call� sur le sujet.

    Je travail que dans des WebApplication ca vient peut etre de la.

Discussions similaires

  1. R�ponses: 5
    Dernier message: 11/02/2010, 16h45
  2. [Smarty] Comment acc�der aux propri�t�s d'un objet dans un objet ?
    Par Tanebisse dans le forum Biblioth�ques et frameworks
    R�ponses: 3
    Dernier message: 18/11/2008, 12h36
  3. R�ponses: 6
    Dernier message: 25/09/2006, 17h08
  4. Acc�der aux propri�t�s d'une feuille de style li�e
    Par b Oo dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 30/05/2006, 08h34
  5. [C#]Acc�der aux propri�t�s d'un User Control
    Par djoao dans le forum Windows Forms
    R�ponses: 6
    Dernier message: 10/03/2006, 09h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo