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:
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:
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 :
Citation:
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.