Freigeben über


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.

HinweisHinweis

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

Weitere Ressourcen

Clientklassenbibliothek