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 TextBoxCode:
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:
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:
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>