[C#] Savoir quel bouton a déclenché l'évènement
Salut,
Comme je créé dynamiquement des contrôles, je dois donc le faire dans le Page_Load sinon ensuite c'est trop tard. Cela fonctionne.
Mais, comme j'ai besoin de générer les contrôles selon les boutons sur lesquels on a pressé, j'ai besoin de savoir lequel a appelé le postback.
Comment faire ? J'ai cherché sur le net et ce que j'ai trouvé était du type :
if (sender == monControle) {
}
Mais ça ne fonctionne pas...
Voici mon code :
Code:
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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
|
private void Page_Load(object sender, System.EventArgs e)
{
String test = "enCours";
if (sender == lnkEnCours) {
lblTitre.Text = "Ok";
}
if (sender == lnkValides) {
test = valide;
}
if (sender == lnkTermines) {
test = termine;
}
ws_Query.QueryService lireBd;
ws_Eleve.web_service_eleves ws = new ws_Eleve.web_service_eleves(); // Service web qui recupere les infos
ws_Eleve.array_of_eleves tabEleves = new ws_Eleve.array_of_eleves(); // Tableaux d'eleves qui contient les infos
String sessionId;
ws_Query.Collection listeDir;
String[] fichiers;
Table tabEtudiants;
TableRow ligne;
TableCell cellule;
XmlTextReader lecteur;
XmlDocument doc;
XmlElement racine;
XmlNode noeud;
System.Web.UI.WebControls.HyperLink lien;
String pathHtml = "../apercu/ApercuHtml.aspx";
String pathPdf = "../apercu/ApercuPdf.aspx";
String pathValider = "../images/valider.gif";
String pathAnnuler = "../images/annuler.gif";
String nomUser;
ImageButton valider;
doc = new XmlDocument();
lireBd = new ws_Query.QueryService();
sessionId = lireBd.connect("admin", "sasadmin");
listeDir = lireBd.listCollection(sessionId, "/CEVE");
fichiers = listeDir.resources;
tabEtudiants = new Table();
plhChamps.Controls.Add(tabEtudiants);
for (int i = 0; i < fichiers.Length; i++) {
lecteur = Global.LireFichierBd("/CEVE/" + fichiers[i]);
doc.Load(lecteur);
racine = doc.DocumentElement;
noeud = racine.SelectSingleNode("/etudiant/infoFichier/etat");
if (noeud.InnerXml == test) {
nomUser = GetNomUser(fichiers[i]);
tabEleves = ws.SAS(nomUser);
ligne = new TableRow();
// Pour ajouter le nom de l'etudiant
cellule = new TableCell();
cellule.Text = tabEleves.eleves.nom_eleve;
ligne.Cells.Add(cellule);
// Pour ajouter son prenom
cellule = new TableCell();
cellule.Text = tabEleves.eleves.prenom_eleve;
ligne.Cells.Add(cellule);
// Pour ajouter sa classe et sa section
cellule = new TableCell();
cellule.Text = tabEleves.eleves.section_001 + tabEleves.eleves.option_001;
ligne.Cells.Add(cellule);
// Pour voir son CV au format HTML
cellule = new TableCell();
lien = new HyperLink();
lien.NavigateUrl = pathHtml + "?username=" + nomUser;
lien.Text = "HTML";
lien.Target= "_blank";
cellule.Controls.Add(lien);
ligne.Controls.Add(cellule);
// Pour voir son CV au format PDF
cellule = new TableCell();
lien = new HyperLink();
lien.NavigateUrl = pathPdf + "?username=" + nomUser;
lien.Text = "PDF";
lien.Target= "_blank";
cellule.Controls.Add(lien);
ligne.Controls.Add(cellule);
if (test == termine) {
cellule = new TableCell();
valider = new ImageButton();
valider.ImageUrl = pathValider;
valider.ID = "icmd_" + i;
valider.Click += new ImageClickEventHandler(this.valider_Click);
cellule.Controls.Add(valider);
ligne.Cells.Add(cellule);
}
if (test == valide) {
valider = new ImageButton();
cellule = new TableCell();
valider.ImageUrl = pathAnnuler;
valider.ID = "icmd_" + i;
valider.Click += new ImageClickEventHandler(this.valider_Click);
cellule.Controls.Add(valider);
ligne.Cells.Add(cellule);
}
tabEtudiants.Rows.Add(ligne);
}
}
lireBd.disconnect(sessionId);
// Placer ici le code utilisateur pour initialiser la page
} |
Quelqu'un a une idée ?