J'ai un GridView où l'une des cellules contient un TextBox avec un CalendarExtender attaché. Une autre cellule contient un bouton qui déclenche le CalendarExtender. Après la sélection d'une date, une fonction checkDate est déclenchée côté client, à la fin de laquelle je veux déclencher l'événement côté serveur du bouton. Mon seul problème est comment puis-je savoir sur quelle ligne l'utilisateur a cliqué, afin que je puisse déclencher l'événement du bon bouton de javascript?Obtenir la bonne ligne dans un GridView
Voici mon GridView:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White"
BorderColor="#999999" BorderStyle="None" BorderWidth="1px" CellPadding="3" GridLines="Vertical"
OnRowCreated="GridView1_RowCreated" OnRowDataBound="GridView1_RowDataBound" OnRowCommand="GridView1_RowCommand">
<Columns>
<asp:TemplateField HeaderText="Movie ID">
<ItemTemplate>
<asp:Label runat="server" ID="lblMovieId" Text='<%#Eval("MovieId") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Movie Name">
<ItemTemplate>
<%#Eval("MovieName") %></ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Return Date">
<ItemTemplate>
<asp:TextBox runat="server" ID="txtRetDate" Text='<%# ((DateTime)Eval("ReturnDate")).ToShortDateString()%>'
BackColor="#EEEEEE" BorderStyle="None"></asp:TextBox>
<asp:CalendarExtender ID="CalendarExtender1" runat="server" PopupButtonID="btnUpdate"
TargetControlID="txtRetDate" Format="dd/MM/yyyy" OnClientDateSelectionChanged="checkDate" >
</asp:CalendarExtender>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="" HeaderStyle-Width="135px">
<ItemStyle VerticalAlign="Top" />
<ItemTemplate>
<asp:Button runat="server" ID="btnUpdate" Text="Update" CommandName="Update" />
<asp:Button runat="server" ID="btnRemove" Text="Remove" CommandName="Remove" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Lorsqu'un CalendarExtender est déclenché par un bouton, l'événement Button_Click côté serveur du bouton est déclenché. C'est pourquoi je dois le déclencher à partir de javascript quand j'ai fini. Dans votre réponse, je ne sais toujours pas sur quelle ligne l'utilisateur a cliqué sur le bouton (qui apparaît sur chaque ligne), et j'en ai encore besoin pour extraire des données de cette ligne pour mon code derrière l'événement. – Guy
Pouvez-vous s'il vous plaît poster le code source gridView? (Juste le "HTML") –
Ok, j'ai ajouté une version simplifiée de mon GridView – Guy