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.