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

C# Discussion :

Problème de FindControl


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 114
    Points : 60
    Points
    60
    Par défaut Problème de FindControl
    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).

    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);
                    }
                }
            }
    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
     
     
                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++;
                    }
                }
    Pourtant, il me renvoie toujours "null"...

    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>

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Points : 1 498
    Points
    1 498
    Par défaut
    Salut,

    As-tu essayé d'enlever :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tb_date.ClientIDMode = ClientIDMode.Static;
    Je pense que c'est peut être la cause de ton problème, mais à prendre avec des pincettes.

  3. #3
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 114
    Points : 60
    Points
    60
    Par défaut
    Bonjour,

    J'ai trouvé la réponse, il faut réinitialiser les contrôles à chaque chargement de la page.

    Le postback me posait problème.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Asp.net/Vb.net] Problème findcontrol
    Par NameX dans le forum ASP.NET
    Réponses: 2
    Dernier message: 28/10/2009, 14h42
  2. [ASP.NET/VB] Problème Findcontrol
    Par NameX dans le forum ASP.NET
    Réponses: 4
    Dernier message: 08/10/2009, 11h22
  3. problème avec findControl
    Par julien.63 dans le forum ASP.NET
    Réponses: 7
    Dernier message: 29/04/2009, 09h55
  4. Problème avec FindControl
    Par cssiste dans le forum ASP.NET
    Réponses: 7
    Dernier message: 03/06/2008, 18h32
  5. Réponses: 1
    Dernier message: 31/08/2006, 11h48

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