SPListItem.SystemUpdate - Méthode
Met à jour la base de données avec les modifications apportées à l'élément de liste sans modifier les champs de date de modification ou modifié par.
Espace de noms : Microsoft.SharePoint
Assembly : Microsoft.SharePoint (dans Microsoft.SharePoint.dll)
Syntaxe
'Déclaration
Public Sub SystemUpdate
'Utilisation
Dim instance As SPListItem
instance.SystemUpdate()
public void SystemUpdate()
Remarques
Lorsque vous appelez la méthode SystemUpdate , les événements sont déclenchés et les modifications sont indiquées dans les journaux d'Audit et de modification, mais pas les alertes sont envoyées et les propriétés ne sont pas rétrogradées dans des documents.
L'appel de cette méthode est identique à l'appel de SystemUpdate(Boolean) avec false.
Exemples
L'exemple suivant est une application console qui utilise la méthode SystemUpdate pour apporter des modifications à un élément de liste.
Imports System
Imports Microsoft.SharePoint
Module ConsoleApp
Sub Main()
Using site As SPSite = New SPSite("https://localhost")
Using web As SPWeb = site.OpenWeb()
Dim list As SPList = web.GetList("/lists/announcements/")
If list.ItemCount > 0 Then
' Get an item to modify.
Dim item As SPListItem = list.Items(0)
' Report the current state of the item.
ReportState("Before", item)
' Modify it.
If item.HasUniqueRoleAssignments Then
item.ResetRoleInheritance()
Else
item.BreakRoleInheritance(True)
End If
' Update without changing the modified time.
item.SystemUpdate()
' Report the new state of the item.
ReportState("After", item)
End If
End Using
End Using
Console.ReadLine()
End Sub
Sub ReportState(ByVal state As String, ByVal item As SPListItem)
Console.WriteLine(state)
Console.WriteLine("HasUniqueRoleAssigments: {0}", item.HasUniqueRoleAssignments)
Console.WriteLine("Modified: {0}", item(SPBuiltInFieldId.Modified))
If item.Fields.ContainsField("Modified_x0020_By") Then
Console.WriteLine("Modified by: {0}", item(SPBuiltInFieldId.Modified_x0020_By))
End If
Console.WriteLine()
End Sub
End Module
using System;
using Microsoft.SharePoint;
namespace Test
{
class ConsoleApp
{
static void Main(string[] args)
{
using (SPSite site = new SPSite("https://localhost"))
{
using (SPWeb web = site.OpenWeb())
{
SPList list = web.GetList("/lists/announcements/");
if (list.ItemCount > 0)
{
// Get an item to modify.
SPListItem item = list.Items[0];
// Report the current state of the item.
ReportState("Before", item);
// Modify it.
if (item.HasUniqueRoleAssignments)
item.ResetRoleInheritance();
else
item.BreakRoleInheritance(true);
// Update without changing the modified time.
item.SystemUpdate();
// Report the new state of the item.
ReportState("After", item);
}
}
}
Console.ReadLine();
}
static void ReportState(string state, SPListItem item)
{
Console.WriteLine(state);
Console.WriteLine("HasUniqueRoleAssigments: {0}", item.HasUniqueRoleAssignments);
Console.WriteLine("Modified: {0}", item[SPBuiltInFieldId.Modified]);
if (item.Fields.ContainsField("Modified_x0020_By"))
Console.WriteLine("Modified by: {0}", item[SPBuiltInFieldId.Modified_x0020_By]);
Console.WriteLine();
}
}
}