Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 sie dann mithilfe einer lokalen SharePoint-Website debuggen. Auf dieser Seite werden alle Elemente angezeigt, die die einzelnen Benutzer auf allen Websites der Serverfarm erstellt oder geändert haben.
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.
Hinweis
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. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Personalisieren von Visual Studio-IDE.
Voraussetzungen
- Unterstützte Editionen von Windows und SharePoint.
Erstellen eines SharePoint-Projekts
Erstellen Sie zunächst ein leeres SharePoint-Projekt. Später fügen Sie diesem Projekt ein Anwendungsseite-Element hinzu.
Starten Sie Visual Studio.
Öffnen Sie das Dialogfeld Neues Projekt, erweitern Sie den Knoten Office/SharePoint unter der gewünschten Sprache, und wählen Sie dann den Knoten SharePoint-Lösungen aus.
Wählen Sie im Bereich Von Visual Studio installierte Vorlagen die Vorlage SharePoint 2010 – Leeres Projekt aus. Geben Sie dem Projekt den Namen MySharePointProject, und wählen Sie dann die Schaltfläche 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.
Wählen Sie das Optionsfeld Als Farmlösung bereitstellen aus, und wählen Sie dann die Schaltfläche Fertig stellen aus, um die lokale SharePoint-Standardwebsite zu übernehmen.
Erstellen einer Anwendungsseite
Um eine Anwendungsseite zu erstellen, fügen Sie dem Projekt ein Anwendungsseite-Element hinzu.
Wählen Sie im Projektmappen-Explorer das Projekt MySharePointProject aus.
Wählen Sie in der Menüleiste Projekt>Neues Element hinzufügen aus.
Wählen Sie im Dialogfeld Neues Element hinzufügen die Vorlage Anwendungsseite (nur Farmlösung) aus.
Nennen Sie die Seite SearchItems, und klicken Sie dann auf die Schaltfläche 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.
So entwerfen Sie das Layout der Anwendungsseite
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. Fügen Sie eine Bezeichnung, eine Optionsfeldliste und eine Tabelle in der Ansicht Quelle des Designers hinzu und legen Sie die Eigenschaften ebenso fest wie beim Entwerfen einer standardmäßigen ASP.NET-Seite.
Wählen Sie in der Menüleiste Ansicht>Toolbox aus.
Führen Sie Im Knoten „Standard“ in der Toolbox einen der folgenden Schritte aus:
Öffnen Sie das Kontextmenü für das Element Bezeichnung, wählen Sie Kopieren aus, öffnen Sie das Kontextmenü für die Zeile unter dem Inhaltssteuerelement PlaceHolderMain im Designer, und wählen Sie dann Einfügen aus.
Ziehen Sie das Element aus Bezeichnung aus der Toolbox auf den Text des Inhaltssteuerelements PlaceHolderMain.
Wiederholen Sie den vorherigen Schritt, um dem Inhaltssteuerelement PlaceHolderMain ein DropDownList-Element und ein Table-Element hinzuzufügen.
Ändern Sie im Designer den Wert des
Text
-Attributs des Label-Steuerelements in Alle Elemente anzeigen.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 der Ereignisse von Steuerelementen auf der Seite
Behandeln Sie Steuerelemente auf einer Anwendungsseite ebenso wie bei einer ASP.NET-Seite. In diesem Verfahren behandeln Sie das SelectedIndexChanged
-Ereignis der Dropdownliste.
Wählen Sie im Menü Ansicht den Befehl Code aus.
Die Codedatei für die Anwendungsseite wird im Code-Editor geöffnet.
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.Fügen Sie am Anfang der Codedatei für die Anwendungsseite die folgenden Anweisungen hinzu.
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); }
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); } }
Testen der Anwendungsseite
Wenn Sie das Projekt ausführen, wird die SharePoint-Website geöffnet, und die Anwendungsseite wird angezeigt.
Im Projektmappen-Explorer öffnen Sie das Kontextmenü für die Anwendungsseite, und wählen Sie dann Als Startelement festlegen aus.
Drücken Sie die Taste F5.
Die SharePoint-Website wird geöffnet.
Wählen Sie auf der Anwendungsseite die Option Von mir geändert aus.
Die Anwendungsseite wird aktualisiert und zeigt alle Elemente an, die Sie auf allen Websites der Serverfarm geändert haben.
Wählen Sie auf der Anwendungsseite Von mir erstellt in der Liste aus.
Die Anwendungsseite wird aktualisiert und zeigt alle Elemente an, die Sie auf allen Websites der Serverfarm erstellt haben.
Nächste Schritte
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: