Gewusst wie: Verwenden des bedingten Bereichs
Letzte Änderung: Montag, 22. August 2011
Gilt für: SharePoint Foundation 2010
Verfügbar in SharePoint Online
Verwenden Sie die ConditionalScope-Klasse zum Festlegen von Bedingungen, um Code bedingt auszuführen. Falls die Bedingungen erfüllt sind, wird mit der StartScope()-Methode dieser Klasse angegeben, welche Aktion ausgeführt werden soll, und die TestResult-Eigenschaft enthält das Testergebnis für die Bedingungen.
Im folgenden Beispiel wird der Titel eines bestimmten Listenvorlagentyps für eine Websitesammlung abgerufen und angezeigt, vorausgesetzt die Liste ist vorhanden und der aktuelle Benutzer verfügt über die Berechtigung zum Verwalten von Listen.
Hinweis |
---|
Das ECMAScript (JavaScript, JScript)-Objektmodell enthält keine Entsprechung für die ConditionalScope-Klasse in den verwalteten .NET- und Silverlight-Objektmodellen. |
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint.Client;
namespace Microsoft.SDK.SharePointServices.Samples
{
class Program
{
static void Main(string[] args)
{
ClientContext clientContext = new ClientContext("http://MyServer/sites/MySiteCollection");
Web oWebsite = clientContext.Web;
List oList = oWebsite.GetCatalog(ListTemplateType.WebPartCatalog);
BasePermissions permissions = new BasePermissions();
permissions.Set(PermissionKind.ManageLists);
ConditionalScope scope = new ConditionalScope(
clientContext,
() => oList.ServerObjectIsNull.Value != true
&& oWebsite.DoesUserHavePermissions(permissions).Value == true);
using (scope.StartScope())
{
clientContext.Load(oList,
list=>list.Title);
}
clientContext.ExecuteQuery();
Console.WriteLine(scope.TestResult.Value);
if (scope.TestResult.Value)
{
Console.WriteLine(oList.Title);
}
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports Microsoft.SharePoint.Client
Imports SP = Microsoft.SharePoint.Client
Namespace Microsoft.SDK.SharePointServices.Samples
Class Program
Public Shared Sub Main()
Dim clientContext As New ClientContext("http://MyServer/sites/MySiteCollection")
Dim oWebsite As Web = clientContext.Web
Dim oList As List = oWebsite.GetCatalog(ListTemplateType.WebPartCatalog)
Dim permissions As New BasePermissions()
permissions.Set(PermissionKind.ManageLists)
Dim scope As New ConditionalScope(clientContext, _
Function() oList.ServerObjectIsNull.Value <> True _
AndAlso oWebsite.DoesUserHavePermissions(permissions).Value = True)
Using scope.StartScope()
clientContext.Load(oList, Function(list) list.Title)
End Using
clientContext.ExecuteQuery()
Console.WriteLine(scope.TestResult.Value)
If scope.TestResult.Value Then
Console.WriteLine(oList.Title)
End If
End Sub
End Class
End Namespace
Siehe auch
Konzepte
Gewusst wie: Verwenden des Ausnahmebehandlungsbereichs
Allgemeine Programmieraufgaben