Bonjour,
Je fait un projet .NET ASP C#, et j'essaie d'afficher un tableau contenant des enregistrements venant d'une BD. Sur chaque ligne de ce tableau j'ai un bouton (ou une image c'est égal) permettant de supprimer dans la BD l'enregistrement sélectionné.
J'ai donc créé un tableau simple en ASP (je veux pas de GridView), sur lequel je parcours ma méthode de retour de données, jusque la aucun problème.
Mon problème est "comment récupérer l'ID de l'utilisateur à supprimer pour le passer à une méthode C#". J'ai donc créé un bouton dynamiquement, lui ai passé en paramètre l'iD pour pouvoir le récupérer en C#, mais j'ai une jolie erreur lors de l'affichage du site. Voici mon code ASP :
Et mon erreur :
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
22
23
24
25
26
27
28
29
30
31
32
33
34 <%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="remTechnicien.aspx.cs" Inherits="remTechnicien" Title="Page sans titre" %> <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <form id="form1" runat="server"> <br /><h2>Supprimer un technicien</h2><br /> <table id="Liste" class="normal"> <thead><tr><td></td><td><b>Nom d'utilisateur</b></td><td><b>Nom</b></td><td><b>Prénom</b></td></tr></thead> <% int i = 0; foreach (Technicien technicien in showList()) {%> <tr> <td> <% Button Bt = new Button(); Bt.Text = "oui"; Bt.ID = Convert.ToString(i); Bt.CommandName = Convert.ToString(i); Bt.Click += new EventHandler(Button1_Click); this.Controls.Add(Bt); i++; %> </td> <td><%= technicien.userName%></td> <td><%= technicien.name%></td> <td><%= technicien.prename%></td> </tr> <% } %> </table> </form> </asp:Content>
[InvalidOperationException: La collection a été modifiée ; l'opération d'énumération peut ne pas s'exécuter.]
System.Web.UI.ControlCollectionEnumerator.MoveNext() +8648494
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +143........
J'ai également essayé de créer un bouton directement en ASP, mais je n'arrive pas passer de code à l'option "CommandName", il m'affiche le code et non son interprétation :
J'ai essayé beaucoup de choses, je n'arrive à rien, mon but est vraiment de récupérer l'iD pour le passer à C#. Je suis preneur de toute solution, je ne sais plus trop comment faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <asp:Button ID="Button1" runat="server" CommandArgument="test" CommandName="<%= technicien.userName %>" Text="Button" />
Merci pour votre aide![]()
Partager