SPListItem.SystemUpdate-Methode
Aktualisiert die Datenbank mit dem Listenelement ohne Ändern der Felder geändert oder geändert von vorgenommenen Änderungen.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
Public Sub SystemUpdate
'Usage
Dim instance As SPListItem
instance.SystemUpdate()
public void SystemUpdate()
Hinweise
Wenn Sie die SystemUpdate -Methode aufrufen, werden die Ereignisse ausgelöst und die Änderungen werden in den Protokollen ändern und Audit gemeldet jedoch Benachrichtigungen werden nicht gesendet und Eigenschaften sind nicht in Dokumente tiefer gestuft.
Durch Aufrufen dieser Methode entspricht dem Aufrufen der SystemUpdate(Boolean) mit false.
Beispiele
Das folgende Beispiel ist eine Konsolenanwendung, die die SystemUpdate -Methode verwendet, um ein Listenelement zu ändern.
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();
}
}
}