Instruktaż: Tworzenie stron aplikacji
Na stronie aplikacji jest rodzajem specjalistyczne strony ASP.NET.Strony aplikacji zawierają treści, które jest połączone ze stroną wzorcową programu SharePoint.Aby uzyskać więcej informacji, zobacz Tworzenie stron aplikacji dla programu SharePoint.
W tym instruktażu przedstawiono sposób tworzenia strony aplikacji i zdebuguj go, korzystając z lokalnej witryny programu SharePoint.Ta strona pokazuje wszystkie elementy, które każdy użytkownik ma utworzone lub zmodyfikowane w wszystkich witryn w farmie serwerów.
W przewodniku przedstawiono następujące zagadnienia:
Tworzenie projektu programu SharePoint.
Dodawanie strony aplikacji do projektu programu SharePoint.
Dodawania formantów ASP.NET do strony aplikacji.
Dodając kod związany z formantów ASP.NET.
Testowanie strony aplikacji.
[!UWAGA]
Komputer może pokazać różne nazwy lub lokalizacje dla niektórych użytkowników programu Visual Studio elementów interfejsu w poniższych instrukcjach.Wydanie programu Visual Studio, że masz i ustawień, których używasz określają te elementy.Aby uzyskać więcej informacji, zobacz Visual Studio, ustawienia.
Wymagania wstępne
Następujące składniki są wymagane do przeprowadzenia tego instruktażu:
Obsługiwane wersje systemu Windows i programu SharePoint.Aby uzyskać więcej informacji, zobacz Wymagania dotyczące rozwiązań programu SharePoint.
Visual Studio Professionallub wydanie programu Visual Studio aplikacji cyklu życia zarządzania Udoskonalony.
Tworzenie projektu programu SharePoint
Najpierw należy utworzyć Pusty projekt programu SharePoint.Później, należy dodać Stronie aplikacji element do tego projektu.
Aby utworzyć projekt programu SharePoint
Start Visual Studio.
Otwórz Nowy projekt okno dialogowe rozwiń Office i SharePoint węzła dla języka, który chcesz użyć, a następnie wybierz Rozwiązań SharePoint węzła.
W Visual Studio Installed Templates okienka, wybierz polecenie programu SharePoint 2010 — pusty projekt szablonu.Nazwa projektu MySharePointProject, a następnie wybierz OK przycisk.
Kreator dostosowania programu SharePoint jest wyświetlany.Ten kreator umożliwia wybranie witryny, który będzie używany do debugowania projektu i poziom zaufania roztworu.
Wybierz polecenie Wdrażanie rozwiązań farmy jako przycisk opcji, a następnie wybierz Zakończ przycisk, aby zaakceptować domyślny lokalnej witryny programu SharePoint.
Tworzenie stron aplikacji
Aby utworzyć stronę aplikacji, należy dodać Stronie aplikacji element do projektu.
Aby utworzyć stronę aplikacji
W Solution Explorer, wybierz polecenie MySharePointProject projektu.
Na pasku menu wybierz polecenie Projekt, Add New Item.
W Add New Item okno dialogowe Wybierz stronie aplikacji (tylko rozwiązanie farmy szablonu.
Nazwę stron SearchItems, a następnie wybierz Dodaj przycisk.
Projektant Visual Web Developer wyświetla strony aplikacji w źródło widok, gdzie można zobaczyć elementy HTML strony.Projektant wyświetla znaczników dla kilku Content kontroli.Każdy formant mapuje do ContentPlaceHolder kontroli, która jest zdefiniowana w domyślnej strony wzorcowej aplikacji.
Projektowanie układu strony aplikacji
Element strony aplikacji umożliwia dodawanie formantów ASP.NET do strony aplikacji za pomocą projektanta.To projektant jest tym samym Projektant używane w Visual Web Developer.Dodaj etykietę, lista przycisk radiowy i tabeli w celu źródło wyświetlić projektanta, a następnie ustaw właściwości, tak samo jak podczas projektowania zwykłego formularzu ASP.NET.
Aby dowiedzieć się więcej na temat używania projektanta w Visual Web Developer, zobacz W Visual Studio 11 wersji Beta dla mapy zawartości sieci Web.
Do projektowania układu strony aplikacji
Na pasku menu wybierz polecenie View, Przybornik.
W węźle Standard Przybornik, wykonaj jedną z następujących czynności:
Otwarcie menu skrótów dla etykiety przedmiotu, wybierz polecenie kopii, otwórz menu skrótów dla linii pod PlaceHolderMain zawartość formantu w projektancie, a następnie wybierz Wklej.
Przeciągnij etykiecie pozycję z Przybornik na treści PlaceHolderMain zawartości formantu.
Powtórz poprzedni krok, aby dodać DropDownList przedmiotu i tabeli poz PlaceHolderMain zawartości formantu.
W projektancie, zmień wartość Text atrybut formantu etykiety, aby pokazać wszystkie elementy.
Czy w Projektancie zastępuje <asp:DropDownList> element z następujący kod 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>
Obsługa zdarzeń formantów na stronie
Uchwyt formantów na stronie aplikacji, tak samo, jak dowolnej strony ASP.NET.W tej procedurze będzie obsługiwać SelectedIndexChanged zdarzenie z listy rozwijanej.
Do obsługi zdarzeń formantów na stronie
Na View menu, wybierz polecenie Kod.
Plik aplikacji Strona kodu zostanie otwarty w edytorze kodu.
Dodaj następującą metodę do SearchItems klasy.Obsługuje ten kod SelectedIndexChanged przypadku DropDownList , wywołując metodę, który zostanie utworzony w dalszej części tego instruktażu.
Protected Sub DropDownList1_SelectedIndexChanged _ (ByVal sender As Object, ByVal e As EventArgs) _ Handles DropDownList1.SelectedIndexChanged SPSecurity.RunWithElevatedPrivileges(AddressOf GetItems) End Sub
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { SPSecurity.RunWithElevatedPrivileges(GetItems); }
Dodaj następujące instrukcje do początku pliku aplikacji, kod strony.
Imports System.Web.UI.WebControls Imports Microsoft.SharePoint.Administration Imports System.Collections
using System.Web.UI.WebControls; using Microsoft.SharePoint.Administration; using System.Collections;
Dodaj następującą metodę do SearchItems klasy.Ta metoda iterację wszystkich witryn w farmie serwerów i wyszukuje elementy utworzone lub zmodyfikowane przez bieżącego użytkownika.
Private Sub GetItems() Dim CurrentUser As New SPFieldUserValue _ (Me.Web, Me.Web.CurrentUser.ID, Me.Web.CurrentUser.Name) Dim ResultsList As New ArrayList() Dim ThisFarm As SPFarm = SPFarm.Local Dim Service As SPWebService = _ ThisFarm.Services.GetValue(Of SPWebService)("") Dim WebApp As SPWebApplication For Each WebApp In Service.WebApplications Dim SiteCollection As SPSite For Each SiteCollection In WebApp.Sites Dim Web As SPWeb For Each Web In SiteCollection.AllWebs Dim Lists As SPListCollection = Web.Lists Dim List As SPList For Each List In Lists Dim Item As SPListItem Try For Each Item In List.Items If Item(DropDownList1.SelectedValue).ToString() = _ CurrentUser.ToString() Then ResultsList.Add(Item) End If Next Item Catch exception As Exception 'Error in list. Move on to the next list. End Try Next List Next Web Next SiteCollection Next WebApp CreateResultsTable(ResultsList) End Sub
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); }
Dodaj następującą metodę do SearchItems klasy.Metoda ta wyświetla elementy utworzone lub zmodyfikowane przez bieżącego użytkownika w tabeli.
Private Sub CreateResultsTable(ByVal ResultsList As ArrayList) Dim CurrentList As String = "" Dim CurrentSite As String = "" Table1.Rows.Clear() Dim Item As SPListItem For Each Item In ResultsList If Item.ParentList.ParentWeb.Title <> CurrentSite Then CurrentSite = Item.ParentList.ParentWeb.Title Dim NewSiteCell As New TableCell() NewSiteCell.Text = CurrentSite Dim NewSiteRow As New TableRow() With NewSiteRow .Cells.Add(NewSiteCell) .Font.Bold = True .Font.Size = FontUnit.Larger .Font.Underline = True End With Table1.Rows.Add(NewSiteRow) End If If Item.ParentList.Title <> CurrentList Then CurrentList = Item.ParentList.Title Dim NewListCell As New TableCell() NewListCell.Text = CurrentList Dim NewListRow As New TableRow() With NewListRow .Cells.Add(NewListCell) .Font.Bold = True End With Table1.Rows.Add(NewListRow) Dim ItemHeading As New TableCell() With ItemHeading .Text = "Item" .Font.Italic = True End With Dim CreatedHeading As New TableCell() With CreatedHeading .Text = "Created" .Font.Italic = True End With Dim ModifiedHeading As New TableCell() With ModifiedHeading .Text = "Last Modified" .Font.Italic = True End With Dim HeadingRow As New TableRow() HeadingRow.Cells.Add(ItemHeading) HeadingRow.Cells.Add(CreatedHeading) HeadingRow.Cells.Add(ModifiedHeading) Table1.Rows.Add(HeadingRow) End If Dim ItemName As New TableCell() Dim ItemLink As New HyperLink() Try ItemLink.href = Item.ParentList.ParentWeb.Url & _ "/" & Item.ParentList.Forms(PAGETYPE.PAGE_DISPLAYFORM).Url & _ "?ID=" & Item.ID Catch exception As Exception ' Some items might not have a form page. Ignore the exception. End Try ItemLink.Text = Item.DisplayName ItemName.Controls.Add(ItemLink) Dim Created As New TableCell() Created.Text = Item("Created").ToString() Dim Modified As New TableCell() Modified.Text = Item("Modified").ToString() Dim DataRow As New TableRow() DataRow.Cells.Add(ItemName) DataRow.Cells.Add(Created) DataRow.Cells.Add(Modified) Table1.Rows.Add(DataRow) Next Item End Sub
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.href = 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); } }
Testowanie strony aplikacji
Po uruchomieniu projektu, otwieranie witryny programu SharePoint i pojawi się strona aplikacji.
Aby przetestować strony aplikacji
W Solution Explorer, otwórz menu skrótów dla strony aplikacji, a następnie wybierz jako element startowy.
Wybierz klawisz F5.
Otwieranie witryny programu SharePoint.
Na stronie aplikacji wybierz opcję zmodyfikowana przeze mnie opcji.
Strona aplikacji odświeża i wyświetla wszystkie elementy, które zostały zmodyfikowane w wszystkich witryn w farmie serwerów.
Na stronie aplikacji wybierz opcję utworzone przez użytkownika na liście.
Strona aplikacji odświeża i wyświetla wszystkie elementy, które zostały utworzone we wszystkich witrynach w farmie serwerów.
Następne kroki
Aby uzyskać więcej informacji na temat stron aplikacji programu SharePoint, zobacz Tworzenie stron aplikacji dla programu SharePoint.
Więcej można znaleźć temat projektowania zawartości strony programu SharePoint przy użyciu Visual Projektant sieci Web następujących tematów:
Zobacz też
Zadania
Jak: tworzenie aplikacji, strona