Udostępnij za pośrednictwem


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

  1. Start Visual Studio.

  2. 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.

  3. 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.

  4. 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

  1. W Solution Explorer, wybierz polecenie MySharePointProject projektu.

  2. Na pasku menu wybierz polecenie Projekt, Add New Item.

  3. W Add New Item okno dialogowe Wybierz stronie aplikacji (tylko rozwiązanie farmy szablonu.

  4. 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

  1. Na pasku menu wybierz polecenie View, Przybornik.

  2. 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.

  3. Powtórz poprzedni krok, aby dodać DropDownList przedmiotu i tabeli poz PlaceHolderMain zawartości formantu.

  4. W projektancie, zmień wartość Text atrybut formantu etykiety, aby pokazać wszystkie elementy.

  5. 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

  1. Na View menu, wybierz polecenie Kod.

    Plik aplikacji Strona kodu zostanie otwarty w edytorze kodu.

  2. 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);
    
    }
    
  3. 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;
    
  4. 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);
    
    }
    
  5. 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

  1. W Solution Explorer, otwórz menu skrótów dla strony aplikacji, a następnie wybierz jako element startowy.

  2. Wybierz klawisz F5.

    Otwieranie witryny programu SharePoint.

  3. 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.

  4. 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

Inne zasoby

_Layouts aplikacji typu strony