Bonjour

J'ai mis en palce un GridVeiw dans un UpdatePanel. Je précise ça, car je me demande si ça vient de là ou pas.

Je construis mon GridView intégralement en CodeBehind, la seule chose que j'ai fait côté HTML est de mettre tout nu dans l'UpdatePanel.

Lorsque je clique sur un des boutons action que je rajoute, j'ai un message d'erreur qui me parle d'un contrôle qui n'aurais pas d'ID ou un ID en double. J'ai beaucoup de mal à comprendre.

Vu que ce mesage arrive en popup Jscript, je ne peux pas vous le retranscrire, mais j'ai pris une photo.

J'ai remarqué que ce mesage apaprait lorsque je rajoute un ImageField dans le GridView. Vous verrez cela dans le code de construction du GridView, c'est le contrôle "StatutEnvoi". Je le mets pas, tout va bien.

Voici donc le code :
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
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
 
Sub ConstruireGV()
		LogageOW("Je passe dans le ConstruireGV")
		Dim idcampagne, libelle, objet, regie, boolactif As New BoundField
		With idcampagne
			.HeaderText = "ID"
			.DataField = "Id_Campagne"
		End With
		With libelle
			.HeaderText = "Libellé"
			.DataField = "Libelle"
			.SortExpression = "Libelle"
		End With
		With objet
			.HeaderText = "Objet"
			.DataField = "Objet"
			.SortExpression = "Objet"
		End With
		With regie
			.HeaderText = "Régie"
			.DataField = "Regie"
			.SortExpression = "Regie"
		End With
 
		Dim apercu, actif As New TemplateField
		With apercu
			.ItemTemplate = New TemplatePopup(DataControlRowType.DataRow, "Id_Campagne", "Apercu")
			.HeaderTemplate = New TemplatePopup(DataControlRowType.Header, "Aperçu", "Apercu")
		End With
		With actif
			.ItemTemplate = New TemplatePopup(DataControlRowType.DataRow, "Actif", "Actif")
			.HeaderTemplate = New TemplatePopup(DataControlRowType.Header, "Actif", "Actif")
		End With
 
		Dim test, envoi, segment, modif As New ButtonField
		With test
			.HeaderText = "Test"
			.ButtonType = ButtonType.Image
			.ImageUrl = "~/App_Themes/" & GetNomsite() & "/lettresinfo.png"
			.CommandName = "Test"
		End With
		With envoi
			.HeaderText = "Envoi"
			.ButtonType = ButtonType.Image
			.ImageUrl = "~/App_Themes/" & GetNomsite() & "/lettresinfo.png"
			.CommandName = "EnvoiMail"
		End With
		With segment
			.HeaderText = "@"
			.ButtonType = ButtonType.Image
			.ImageUrl = "~/App_Themes/" & GetNomsite() & "/lettresinfo.png"
			.CommandName = "Segment"
		End With
		With modif
			.HeaderText = "Modif"
			.ButtonType = ButtonType.Image
			.ImageUrl = "~/App_Themes/" & GetNomsite() & "/modifier_16.png"
			.CommandName = "Modif"
		End With
 
		Dim StatutEnvoi As New ImageField
		With StatutEnvoi
			.HeaderText = "Envoi"
			.DataImageUrlField = "Envoi"
			.DataImageUrlFormatString = "~/App_Themes/" & GetNomsite() & "/{0}.png"
		End With
 
		With gvCampagne
			With .Columns
				.Clear()
				.Add(idcampagne)
				.Add(libelle)
				.Add(objet)
				.Add(regie)
				.Add(apercu)
				.Add(test)
				.Add(envoi)
				.Add(actif)
				.Add(StatutEnvoi)
				.Add(modif)
			End With
			.DataSourceID = "sdsGvCampagne"
		End With
	End Sub
J'ajoute la photo du message en pièce jointe.

Merci pour votre aide.