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 :

Comment accéder à un contrôle dans un DetailsView


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 45
    Points : 30
    Points
    30
    Par défaut Comment accéder à un contrôle dans un DetailsView
    Bonjour à tous,

    Dans le code ci-dessous, j'essaye d'invalider le controle "RequiredFieldValidator" afin qu'il ne se déclenche pas lorsqu'on ne rentre pas de valeur dans le "TextBox" "txtID".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    protected void btnNewAssayReference_Click(object sender, EventArgs e)
            {
     
                dvAssayRefDetail.Fields[1].TemplateControl.IsValid = false;
                this.rfvID.IsValid = false;
            }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <asp:Button id = "btnNewAssayReference" runat="server" onclick="btnNewAssayReference_Click"/>
     
    <asp:Panel ID="pnlPopup" runat="server" CssClass="detail" Width="500px" style="display:table;" >
                    		<asp:DetailsView ID="dvAssayRefDetail" runat="server" DataSourceID="odsAssayRefDetail"  
                            CssClass="detailgrid" GridLines="None" DefaultMode="Edit" AutoGenerateRows="false" 
                            Visible="true" Width="100%" DataKeyNames="Assay_Id" HorizontalAlign ="Center" >
                            <Fields>
                                 <asp:TemplateField HeaderText="ID">
                                    <EditItemTemplate>
                                        <asp:TextBox ID="txtID" runat="server" Text='<%# Bind("Assay_ID") %>' ReadOnly="true" />
                                        <asp:RequiredFieldValidator ID="rfvID" runat="server" ControlToValidate="txtID" ErrorMessage="Required" Display="Static" SetFocusOnError="true" />
                                    </EditItemTemplate>
                                </asp:TemplateField>
    Mais ce code ne marche pas et j'ai l'erreur :

    Le nom "rfvID" n'existe pas dans le contexte actuel.
    Comment pouvoir accéder au controle "rfvID" qui est dans un Panel puis dans un DetailsView puis dans un TemplateField ?

    Merci beaucoup d'avance.

    Laurent.

  2. #2
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Bonjour,

    Tu peux accéder au DetailsView dans ton code-behind ? Ensuite il te suffit de faire un FindControl.

    C'est un peu le même principe que pour accéder à des contrôles (CheckBox ou DropDowList qu'il faut binder lors qu'on passe en mode édition) dans une GridView. Fait une recherche sur Google par rapport à ça et à l'event Row_DataBound, tu auras un paquet d'exemples.

    En espérant t'avoir aidé.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 45
    Points : 30
    Points
    30
    Par défaut
    Merci pour ta réponse.

    Désolé du retard : je n'avais pas de notifications.

    C'est ok : çà marche maintenant.

    Laurent.

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

Discussions similaires

  1. Comment trouver les contrôles dans un DBCtrlGrid
    Par Bruno75 dans le forum Composants VCL
    Réponses: 7
    Dernier message: 19/12/2010, 17h42
  2. Réponses: 3
    Dernier message: 23/05/2009, 17h31
  3. Comment accéder à ce contrôle dans le code behind ?
    Par insane_80 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 02/04/2009, 13h34
  4. [C#] Comment rechercher un contrôle dans un FormView ?
    Par bleuerouge dans le forum ASP.NET
    Réponses: 4
    Dernier message: 11/09/2006, 16h43
  5. [C#]Comment accéder à un champ dans un FormView ?
    Par Louisa dans le forum ASP.NET
    Réponses: 8
    Dernier message: 18/07/2006, 12h05

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