Bonjour,
J'obtiens systématiquement l'erreur "La validation de la sécurité de cette page n'est pas valide" lors de la copie d'un ListItem d'une liste d'un sous site vers une liste du site root.
J'ai suivi les recommandations trouvées sur le net en rapport avec cet erreur, à savoir :
- SPSecurity.RunWithElevatedPrivileges(delegate()
- AllowUnsafeUpdates = true;
- FormDigestSettings.Enabled = false;
Mais rien n'y fait, j'obtiens toujours la même erreur.
Auriez vous d'autres pistes à me proposer ?
Merci d'avance.
Ci-dessous le code qui génère l'erreur lors de l'Update();
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 Guid siteGuid = SPContext.Current.Site.ID; Guid webGuid = SPContext.Current.Web.ID; SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite site = new SPSite(siteGuid)) { site.AllowUnsafeUpdates = true; SPWeb web = site.OpenWeb(webGuid); web.AllowUnsafeUpdates = true; SPWebApplication webApp = web.Site.WebApplication; webApp.FormDigestSettings.Enabled = false; // Récupération des paramètres string ItemID = GetParamFromQueryString("ItemId"); string ListId = GetParamFromQueryString("ListId"); string SourceUrl = GetParamFromQueryString("SourceUrl"); string SiteUrl = GetParamFromQueryString("SiteUrl"); string Excep = GetParamFromQueryString("Excep"); // ListItem d'origine SPListItem listItemOrigin = GetListItem(ListId, ItemID, web); // Liste de destination SPList listDest = GetListDestination(web); // Ajout new item SPListItem newItem = listDest.Items.Add(); newItem["Title"] = listItemOrigin["Title"].ToString(); if (listItemOrigin["Comments"] != null) newItem["Detail"] = listItemOrigin["Comments"].ToString(); newItem["Lien"] = listItemOrigin["ows_EncodedAbsUrl"].ToString(); newItem["Site"] = web.Title; if (listItemOrigin["DatePublication"] != null) newItem["DatePublication"] = listItemOrigin["DatePublication"]; if (Excep.Equals("O")) newItem["Visible"] = 1; else newItem["Visible"] = 0; newItem.Update(); webApp.FormDigestSettings.Enabled = true; } });
Partager