Bonjour, je bosse en c# sous VS2010.
Je veux créer en code behind des contrôles (variables récupérées automatiquement via mes reports).
Et ensuite, je veux récupérer lors de la validation du contenu de mes paramètres (ici, la date), la valeur contenue dans ma TextBox
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 ReportParameterInfoCollection parameters = this.rv_Report.ServerReport.GetParameters(); if (parameters.Count > 0) { foreach (ReportParameterInfo param in parameters) { if (param.DataType == ParameterDataType.DateTime) { Label lb_date = new Label(); lb_date.Text = param.Name + " : "; TextBox tb_date = new TextBox(); tb_date.ID = "tb_" + param.Name; tb_date.ClientIDMode = ClientIDMode.Static; tb_date.CssClass = "datepicker"; l_parameters.Controls.Add(lb_date); l_parameters.Controls.Add(tb_date); } } }
Pourtant, il me renvoie toujours "null"...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 ReportParameter[] tabParams = new ReportParameter[Parameters.Count]; int count = 0; foreach (ReportParameterInfo param in Parameters) { if (param.DataType == ParameterDataType.DateTime) { tabParams[count] = new ReportParameter(param.Name, ((TextBox)cph.FindControl("tb_"+param.Name)).Text); count++; } }
Avez-vous des idées?
J'ai essayé avec les FindControl, FindControlRecursive, ... Mais rien de rien, il ne voit pas mon contrôle.
Par contre, si je crée mon contrôle en .aspx et l'appelle ensuite, ça fonctionne.
De plus, voici mon code source de la page
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <div class="parameters"> <span id="MainContent_l_parameters"><span>DateToSearchPar : </span><input name="ctl00$MainContent$tb_DateToSearchPar" type="text" id="MainContent_tb_DateToSearchPar" class="datepicker" /></span><br /> </div>
Partager