Bonjour,
Je dois vérifier que le nom d'un dossier mis à jour est bien formé, en fonction de règles internes.
Pour cela, j'ai redéfini l'évènement ItemUpdated de la manière suivante :
Ainsi, quelle que soit l'erreur que l'utilisateur commet, lors d'un clic droit : "modifier les propriétés", je modifie le nom et les champs selon les règles préétablies.
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 public override void ItemUpdated(SPItemEventProperties properties) { DisableEventFiring(); base.ItemUpdated(properties); SPListItem item; string prefixe; if (properties.ListTitle == "REFERENTIEL_NOP") { item = properties.ListItem; SPContentType contenu = item.ContentType; if (contenu.Name == "Dossier") { string[] result = item.DisplayName.ToUpper().Split('_'); prefixe = properties.AfterUrl; string[] nom_url = prefixe.Split('/'); string m = nom_url[1]; m = m.Substring(4); string a = nom_url[2]; int underscore = result.Length - 1; if (underscore == 4) { //item["MARCHE"] = result[0]; item["MARCHE"] = m; item["EXERCICE"] = a; item["NUM_NOP"] = result[1]; item["MILLESIME"] = result[2].Substring(0, 2) + a.Substring(2, 2); item["PRT_PALIER"] = result[3]; item["POLE_DO"] = result[4]; item["Nom"] = m + "_" + result[1] + "_" + result[2].Substring(0, 2) + a.Substring(2, 2) + "_" + result[3] + "_" + result[4]; item.Update(); EnableEventFiring(); } } } }
L'anomalie que je rencontre :
une fois que la mise à jour du nom du dossier est validée, lorsque sharepoint tente l'update, il me dit qu'il ne trouve pas le dossier !
Pourtant, lorsque le nom n'est pas retouché dans le formulaire de modification et que je me contente de modifier les champs, l'update fonctionne sans message d'erreur.
Je n'y comprend rien !
Quelqu'un peut-il m'éclairer ?
cordialement
madmax
Partager