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 :

[C#] UserControl


Sujet :

ASP.NET

  1. #1
    Membre �prouv�
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par d�faut [C#] UserControl
    Bonjour,

    j'ai un userControl dans lequel se trouve mon menu de navigation.
    D'une page a une autre j'ai besoi de transmettre au userControl des variables afin d'adapeter ma barre de nav.


    comment dois je faire pour passer des parametres ?


    merci

  2. #2
    Membre �m�rite
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    652
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 652
    Par d�faut Re: [c#][aspx] UserControl
    Citation Envoy� par topolino
    comment dois je faire pour passer des parametres ?
    Comme d'hab. Dans l'uri de la page, par session ou par cookie.

    Les applis web c'est pas compliqu� en fait. Y a tellement de limitations qu'on fait vite le tour des possibilit�s :)

    Et les contr�les ont acc�s aux m�mes choses que les pages (Request, Session, tout �a, pile poil pareil)

  3. #3
    Membre �prouv�
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par d�faut
    Oui je sais qu'il existecookie, session, request par get et post, mais je croyais qu'il existait une maniere simple de passer des parametres dans des userControl a l'instar des 'require' de php.

  4. #4
    Membre �clair�

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    298
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 298
    Par d�faut
    Bonjour,
    Une autre m�thode. Ton user control, c'est une classe.
    Tu peux donc publier des propri�t�s :
    Ex simple :

    public int SelectedIndex;

    void Page_Load(Object sender, EventArgs e)
    {
    switch (SelectedIndex)
    {
    case 0 :
    // Init des diff�rents items du menu
    break;

    case 1 :
    // Init des diff�rents item du menu
    break;
    }
    }


    Dans ton code qui appelle ton user control :
    <uc0:header id="UserControl1" runat="server" SelectedIndex="1"></uc0:header>

    a+

  5. #5
    Membre �prouv�
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par d�faut
    ca ne marche pas.

    Voila plus en detail ce que je fais. J'ai un ascx qui a pour but d'afficher sur toutes les pages du site la barre de navigation.

    J'ai une class qui creer cette barre de nav :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    private string _cA;
     
    public string cAA{
    get{return _cA;}
    set{_cA = value;}
    }
     
    public Table OngletCreate(){
    string cAAA = _cA;
    string[] arrItems = new string[] {"Test","Sur","Array"};
    LinkButton oLinkButton;
    PlaceHolder oPlaceHolder = new PlaceHolder();
    Table oTable = new Table();
    oTable.Width = Unit.Percentage(100);
    TableRow oTableRow = new TableRow();
    TableCell oTableCell;
     
     
    foreach (string cItems in arrItems){
    oLinkButton = new LinkButton();
    oLinkButton.ID = cItems.ToString();
    oLinkButton.Text = cItems.ToString();
    oLinkButton.CommandName = oLinkButton.ClientID;
    oLinkButton.ForeColor = System.Drawing.Color.Black;
    oLinkButton.Command += new CommandEventHandler(oLinkButton_Command);
    oTableCell = new TableCell();
    oTableCell.Controls.Add(oLinkButton);
    oTableRow.Controls.Add(oTableCell);
    }
    oTable.Controls.Add(oTableRow);
     
    return oTable;
    }

    dans ma page index, je place mon acsx :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    <%@ Register tagprefix="headerNav" Tagname="header" Src="header.ascx"%>
    et un peu plus bas je pensais mettre :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    <headerNav:header id="Navigation" NAME="Navigation" runat="server" cAA="Test" />
    cAA etant une propriete de ma classe, je lui passe un parametre.

    Lorsque j'essaye juste de voir si ma variable priv�e '_cA' est bien renseign�, et bien on me dit 'null'.

    Comment dois je pass� ce fameux parametre alors ?

    merci

  6. #6
    Membre �clair�

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    298
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 298
    Par d�faut
    D�sol�,
    Trop d�butant pour pouvoir te renseigner plus.
    Je passe directement par une prop publique, et l� �a marche.
    C'est peut-�tre un pb d'initialisation de ta classe.
    Dans un user control aucune id�e de comment �a marche
    bon courage

  7. #7
    Membre �m�rite
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    652
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 652
    Par d�faut
    Citation Envoy� par topolino
    Lorsque j'essaye juste de voir si ma variable priv�e '_cA' est bien renseign�, et bien on me dit 'null'.
    Tu as jet� un oeil dans la collection Attributes de ton contr�le ? C'est cens� �tre dedans aussi.

  8. #8
    Membre �prouv�
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par d�faut
    collection Attributes de ton contr�le
    c'est quoi ca ? c'est ou ?

  9. #9
    Membre �m�rite
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    652
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 652
    Par d�faut
    Citation Envoy� par topolino
    collection Attributes de ton contr�le
    c'est quoi ca ? c'est ou ?
    Ben c'est une propri�t� de tous les UserControls (et WebControls).

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [VB.NET] ViewState et UserControl
    Par franculo_caoulene dans le forum ASP.NET
    R�ponses: 5
    Dernier message: 20/04/2005, 15h33
  2. [C#] Inserer dynamiquement un userControl
    Par topolino dans le forum ASP.NET
    R�ponses: 9
    Dernier message: 23/02/2005, 13h51
  3. XMLRAD equivalent usercontrol ASp .NET
    Par le-roy_a dans le forum XMLRAD
    R�ponses: 10
    Dernier message: 10/12/2004, 14h09
  4. R�ponses: 12
    Dernier message: 18/03/2004, 15h09
  5. [VB6] [UserControl] Évènements personnalisés
    Par Frankywinky dans le forum VB 6 et ant�rieur
    R�ponses: 3
    Dernier message: 27/05/2003, 17h56

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