Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Exemplarische Vorgehensweise: Erstellen einer Anwendungsseite

Eine Anwendungsseite ist eine spezielle Form einer ASP.NET-Seite. Anwendungsseiten enthalten Inhalt, der mit einer SharePoint-Masterseite zusammengeführt wird. Weitere Informationen finden Sie unter Erstellen von Anwendungsseiten für SharePoint.

In dieser exemplarischen Vorgehensweise wird erläutert, wie Sie eine Anwendungsseite erstellen und diese dann mithilfe einer lokalen SharePoint-Website debuggen. Diese Anwendungsseite ermöglicht es dem aktuellen Benutzer, alle Elemente anzuzeigen, die er auf allen Websites der Serverfarm erstellt oder geändert hat.

In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:

  • Erstellen eines SharePoint-Projekts.

  • Hinzufügen einer Anwendungsseite zum SharePoint-Projekt.

  • Hinzufügen von ASP.NET-Steuerelementen zur Anwendungsseite.

  • Hinzufügen von Code hinter den ASP.NET-Steuerelementen.

  • Testen der Anwendungsseite.

HinweisHinweis

Auf Ihrem Computer werden möglicherweise andere Namen oder Speicherorte für die Benutzeroberflächenelemente von Visual Studio angezeigt als die in den folgenden Anweisungen aufgeführten. Die von Ihnen verwendete Visual Studio-Edition und die Einstellungen legen diese Elemente fest. Weitere Informationen finden Sie unter Arbeiten mit Einstellungen.

Zum Durchführen dieser exemplarischen Vorgehensweise benötigen Sie die folgenden Komponenten:

  • Unterstützte Editionen von Microsoft Windows und SharePoint. Weitere Informationen finden Sie unter Anforderungen für die Entwicklung von SharePoint-Lösungen.

  • Visual Studio 2010 Professional oder eine Edition der Anwendungslebenszyklus-Verwaltung (Application Lifecycle Management, ALM) von Visual Studio.

Erstellen Sie zunächst ein leeres SharePoint-Projekt. Später fügen Sie diesem Projekt ein Element Anwendungsseite hinzu.

So erstellen Sie ein SharePoint-Projekt

  1. Starten Sie Visual Studio 2010.

  2. Öffnen Sie das Dialogfeld Neues Projekt, erweitern Sie den Knoten SharePoint unter der gewünschten Sprache, und klicken Sie anschließend auf 2010.

  3. Wählen Sie im Bereich Von Visual Studio installierte Vorlagen die Option Leeres SharePoint-Projekt aus. Nennen Sie das Projekt MySharePointProject, und klicken Sie auf OK.

    Der Assistent zum Anpassen von SharePoint wird angezeigt. Mit diesem Assistenten können Sie die Website, die Sie zum Debuggen des Projekts verwenden, sowie die Vertrauensebene der Projektmappe auswählen.

  4. Wählen Sie Als Farmlösung bereitstellen aus, und klicken Sie dann auf Fertig stellen, um die standardmäßige lokale SharePoint-Website zu akzeptieren.

Um eine Anwendungsseite zu erstellen, fügen Sie dem Projekt ein Element Anwendungsseite hinzu.

So erstellen Sie eine Anwendungsseite

  1. Wählen Sie im Projektmappen-Explorer das Projekt MySharePointProject aus.

  2. Klicken Sie im Menü Projekt auf Neues Element hinzufügen.

  3. Wählen Sie im Dialogfeld Neues Element hinzufügen die Option Anwendungsseite aus.

  4. Weisen Sie der Seite den Namen SearchItems zu, und klicken Sie dann auf Hinzufügen.

    Der Visual Web Developer-Designer zeigt die Anwendungsseite in der Ansicht Quelle an, in der die HTML-Elemente der Seite aufgeführt werden. Der Designer zeigt das Markup für mehrere Content-Steuerelemente an. Jedes Steuerelement ist einem ContentPlaceHolder-Steuerelement zugeordnet, das auf der standardmäßigen Anwendungsmasterseite definiert ist.

Das Element Anwendungsseite ermöglicht Ihnen die Verwendung eines Designers, um der Anwendungsseite ASP.NET-Steuerelemente hinzuzufügen. Dieser Designer ist mit dem in Visual Web Developer verwendeten Designer identisch. Ziehen Sie eine Bezeichnung, eine Optionsfeldliste und eine Tabelle in die Ansicht Quelle des Designers, und legen Sie Eigenschaften ebenso fest wie beim Entwerfen einer standardmäßigen ASP.NET-Seite.

Weitere Informationen zum Verwenden des Designers in Visual Web Developer finden Sie unter Einstieg in Visual Web Developer.

So entwerfen Sie das Layout der Anwendungsseite

  1. Klicken Sie im Menü Ansicht auf Toolbox.

  2. Ziehen Sie in der Toolbox aus der Gruppe Standard ein Label, eine DropDownList und eine Table auf den Text des PlaceHolderMain-Inhaltssteuerelements.

  3. Ändern Sie im Designer den Wert des Text-Attributs des Label-Steuerelements in Alle Elemente anzeigen.

  4. Oder ersetzen Sie im Designer das <asp:DropDownList>-Element durch folgendes XML.

    <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true"
     OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
        <asp:ListItem Text="Created by me" Value="Author"></asp:ListItem>
        <asp:ListItem Text="Modified by me" Value="Editor"></asp:ListItem>
    </asp:DropDownList>
    

Behandeln Sie Steuerelemente auf einer Anwendungsseite ebenso wie bei einer ASP.NET-Seite. In diesem Verfahren behandeln Sie das SelectedIndexChanged-Ereignis der Dropdownliste.

So behandeln Sie die Ereignisse von Steuerelementen auf der Seite

  1. Klicken Sie im Menü Ansicht auf Code.

    Die Codedatei für die Anwendungsseite wird im Code-Editor geöffnet.

  2. Fügen Sie der SearchItems-Klasse die folgende Methode hinzu. In diesem Code wird das SelectedIndexChanged-Ereignis der DropDownList behandelt, indem eine Methode aufgerufen wird, die Sie später in dieser exemplarischen Vorgehensweise erstellen.

    
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        SPSecurity.RunWithElevatedPrivileges(GetItems);
    
    }
    
    
    
  3. Fügen Sie am Anfang der Codedatei für die Anwendungsseite die folgenden Anweisungen hinzu.

    
    using System.Web.UI.WebControls;
    using Microsoft.SharePoint.Administration;
    using System.Collections;
    
    
    
  4. Fügen Sie der SearchItems-Klasse die folgende Methode hinzu. Diese Methode durchläuft alle Websites der Serverfarm und sucht nach Elementen, die vom aktuellen Benutzer erstellt oder geändert wurden.

    
    private void GetItems()
    {
         SPFieldUserValue currentUser = new SPFieldUserValue
         (this.Web, this.Web.CurrentUser.ID, this.Web.CurrentUser.Name);
    
        ArrayList resultsList = new ArrayList();
    
        SPFarm thisFarm = SPFarm.Local;
        SPWebService service = thisFarm.Services.GetValue<SPWebService>("");
    
        foreach (SPWebApplication webApp in service.WebApplications)
        {
            foreach (SPSite siteCollection in webApp.Sites)
            {
                foreach (SPWeb web in siteCollection.AllWebs)
                {
                    SPListCollection lists = web.Lists;
                    foreach (SPList list in lists)
                    {
                        try
                        {
                            foreach (SPListItem item in list.Items)
                            {
                                if (item[DropDownList1.SelectedValue].ToString() ==
                                    currentUser.ToString())
                                {
                                    resultsList.Add(item);
                                }
                            }
                        }
                        catch (Exception)
                        {
                            // An error with the list. Move onto the next list.
                        }
                    }
                }
            }
        }
        CreateResultsTable(resultsList);
    
    }
    
    
    
  5. Fügen Sie der SearchItems-Klasse die folgende Methode hinzu. Diese Methode zeigt Elemente an, die vom aktuellen Benutzer in der Tabelle erstellt oder geändert wurden.

    
    private void CreateResultsTable(ArrayList resultsList)
    {
        string currentList = "";
        string currentSite = "";
        Table1.Rows.Clear();
    
        foreach (SPListItem item in resultsList)
        {
            if (item.ParentList.ParentWeb.Title != currentSite)
            {
                currentSite = item.ParentList.ParentWeb.Title;
    
                TableCell newSiteCell = new TableCell();
                newSiteCell.Text = currentSite;
    
                TableRow newSiteRow = new TableRow();
                newSiteRow.Cells.Add(newSiteCell);
                newSiteRow.Font.Bold = true;
                newSiteRow.Font.Size = FontUnit.Larger;
                newSiteRow.Font.Underline = true;
    
                Table1.Rows.Add(newSiteRow);
            }
            if (item.ParentList.Title != currentList)
            {
                currentList = item.ParentList.Title;
                TableCell newListCell = new TableCell();
                newListCell.Text = currentList;
    
                TableRow newListRow = new TableRow();
                newListRow.Cells.Add(newListCell);
                newListRow.Font.Bold = true;
    
                Table1.Rows.Add(newListRow);
    
                TableCell itemHeading = new TableCell();
                itemHeading.Text = "Item";
                itemHeading.Font.Italic = true;
    
                TableCell createdHeading = new TableCell();
                createdHeading.Text = "Created";
                createdHeading.Font.Italic = true;
    
                TableCell modifiedHeading = new TableCell();
                modifiedHeading.Text = "Last Modified";
                modifiedHeading.Font.Italic = true;
    
                TableRow headingRow = new TableRow();
                headingRow.Cells.Add(itemHeading);
                headingRow.Cells.Add(createdHeading);
                headingRow.Cells.Add(modifiedHeading);
    
                Table1.Rows.Add(headingRow);
            }
    
            TableCell itemName = new TableCell();
            HyperLink itemLink = new HyperLink();
            try
            {
                itemLink.NavigateUrl = item.ParentList.ParentWeb.Url + "/" +
                    item.ParentList.Forms[PAGETYPE.PAGE_DISPLAYFORM].Url +
                    "?ID=" + item.ID;
            }
            catch (Exception)
            {
                // Some items might not have a form page. Ignore the exception.
            }
            itemLink.Text = item.DisplayName;
            itemName.Controls.Add(itemLink);
    
            TableCell created = new TableCell();
            created.Text = item["Created"].ToString();
    
            TableCell modified = new TableCell();
            modified.Text = item["Modified"].ToString();
    
            TableRow dataRow = new TableRow();
            dataRow.Cells.Add(itemName);
            dataRow.Cells.Add(created);
            dataRow.Cells.Add(modified);
    
            Table1.Rows.Add(dataRow);
        }
    }
    
    
    

Wenn Sie das Projekt ausführen, wird die SharePoint-Website geöffnet, und die Anwendungsseite wird angezeigt.

So testen Sie die Anwendungsseite

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Anwendungsseite, und klicken Sie dann auf Als Startelement festlegen.

  2. Drücken Sie F5.

    Die SharePoint-Website wird geöffnet. Die Anwendungsseite wird angezeigt.

  3. Klicken Sie auf der Seite auf die Option Geändert von mir.

    Die Anwendungsseite wird aktualisiert und zeigt alle Elemente an, die Sie auf allen Websites der Serverfarm geändert haben.

  4. Klicken Sie auf der Seite auf die Option Von mir erstellt.

    Die Anwendungsseite wird aktualisiert und zeigt alle Elemente an, die Sie auf allen Websites der Serverfarm erstellt haben.

Weitere Informationen über SharePoint-Anwendungsseiten finden Sie unter Erstellen von Anwendungsseiten für SharePoint.

Weitere Informationen zum Entwerfen von SharePoint-Seiteninhalten mit dem Visual Web Designer finden Sie in folgenden Themen:

Community-Beiträge

HINZUFÜGEN
Anzeigen: