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
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
Comme d'hab. Dans l'uri de la page, par session ou par cookie.Envoy� par topolino
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)
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.
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+
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 :
et un peu plus bas je pensais mettre :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 <%@ Register tagprefix="headerNav" Tagname="header" Src="header.ascx"%>
cAA etant une propriete de ma classe, je lui passe un parametre.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 <headerNav:header id="Navigation" NAME="Navigation" runat="server" cAA="Test" />
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
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
Tu as jet� un oeil dans la collection Attributes de ton contr�le ? C'est cens� �tre dedans aussi.Envoy� par topolino
c'est quoi ca ? c'est ou ?collection Attributes de ton contr�le
Ben c'est une propri�t� de tous les UserControls (et WebControls).Envoy� par topolino
Partager