Aracılığıyla paylaş


İzlenecek yol: uygulama sayfası oluşturma

Uygulama sayfası bir asp.net sayfası özelleştirilmiş bir biçimidir.Uygulama sayfaları bir SharePoint ana sayfayla birleştirilerek içeriği kapsar.Daha fazla bilgi için bkz. Uygulama sayfaları SharePoint için oluşturma.

Bu izlenecek yolda, uygulama sayfası oluşturma ve yerel bir SharePoint sitesini kullanarak debug gösterir.Bu sayfayı her kullanıcı oluşturulan veya sunucu grubundaki tüm sitelerde değiştirilen tüm öğeleri gösterir.

Bu örneklerde aşağıdaki görevler gösterilir:

  • SharePoint projesi oluşturma.

  • Uygulama sayfası SharePoint projeye ekleme.

  • Uygulama sayfasında asp.net denetimleri ekleme.

  • asp.net denetimleri arkasındaki kod ekleme.

  • Uygulama sayfasında sınama.

[!NOT]

Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arayüzü öğelerinden bazıları için farklı adlar veya konumlar gösterebilir.Bu öğeleri bilgisayarınızdaki Visual Studio sürümü ve kullandığınız ayarlar belirler.Daha fazla bilgi için bkz. Visual Studio ayarları.

Önkoşullar

Bu örneği tamamlamak için aşağıdaki bileşenler gerekmektedir:

SharePoint proje oluşturma

İlk olarak, bir Boş SharePoint proje.Daha sonra ekleyecek bir Uygulama sayfası bu proje için madde.

SharePoint projesi oluşturmak için

  1. Visual Studio uygulamasını başlatın.

  2. Açık Yeni Proje iletişim kutusunda, genişletme Office/SharePoint 'ı seçin ve kullanmak istediğiniz dil düğümünde SharePoint çözümlerini düğümü.

  3. İçinde Visual Studio şablonları yüklü bölmesinde seçin SharePoint 2010 – boş proje şablonu.Projeyi MySharePointProject olarak adlandırın ve sonra seçin Tamam düğmesi.

    SharePoint Özelleştirme Sihirbazı'nı görünür.Bu sihirbaz, proje ve çözüm güven düzeyini hata ayıklamak için kullanan site seçmenize olanak sağlar.

  4. Seçin dağıtma grubu çözümü olarak seçenek düğmesini ve sonra Son varsayılan yerel SharePoint sitesi kabul etmek için düğme.

Uygulama sayfası oluşturma

Uygulama sayfası oluşturmak için bir Uygulama sayfası proje öğesi.

Uygulama sayfası oluşturmak için

  1. İçinde Çözüm Gezgini, seçim MySharePointProject proje.

  2. Menü çubuğunda Seç Proje, Add New Item.

  3. İçinde Add New Item iletişim kutusunda, seçim Uygulama sayfası (yalnızca Grup çözüm şablonu.

  4. Sayfayı SearchItems olarak adlandırın ve sonra Ekle düğmesi.

    Uygulama sayfası içindeki Visual Web Developer Tasarımcısı görüntüler kaynak burada görebilirsiniz sayfanın html öğeleri görüntüleyin.Biçimlendirme için çeşitli tasarımcı görüntüler Content kontrol eder.Her denetim eşleyen bir ContentPlaceHolder varsayılan uygulama ana sayfa içinde tanımlanan denetim.

Uygulama sayfa düzenini tasarlama

Uygulama sayfa öğesi, uygulama sayfaya asp.net denetimleri eklemek için bir tasarımcı kullanmanıza olanak tanır.Bu Tasarımcı Visual Web Developer ile kullanılan aynı Tasarımcısı olur.Bir etiket, bir radyo düğmesi listesi ve bir tabloya ekleme kaynak Tasarımcısı görüntüleyin ve sonra standart herhangi bir asp.net sayfası tasarlarken yaptığınız gibi özelliklerini ayarlayın.

Visual Web Developer kullanarak Tasarımcısı'nı kullanma hakkında daha fazla bilgi için bkz: Web içerik eşleme için Visual Studio 11 Beta.

Uygulama sayfa düzenini tasarlamak için

  1. Menü çubuğunda Seç Görünüm, araç.

  2. Standart düğümünde araç, aşağıdaki adımlardan birini gerçekleştirin:

    • Açmak için kısayol menüsünü etiketi seçin, madde kopya, altındaki kısayol menüsünü açmak PlaceHolderMain içerik denetimi tasarımcıda ve sonra Yapıştır.

    • Sürükleme etiketi gelen madde araç gövdesi üzerine PlaceHolderMain içerik denetimi.

  3. Eklemek için önceki adımı yineleyin bir DropDownList öğesi ve bir Tablo için madde PlaceHolderMain içerik denetimi.

  4. Tasarımcısı üzerinde değerini değiştirmek Text tüm öğeleri göstermek için Etiket denetiminin özniteliği.

  5. Tasarımcısı üzerinde yerini <asp:DropDownList> ile aşağıdaki xml öğesi.

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

Sayfadaki denetimlerin olaylarını işleme

Herhangi bir asp.net sayfası gibi bir uygulama sayfadaki denetimler işleyin.Bu yordamda, işleyeceği SelectedIndexChanged olay aşağı açılan liste.

Sayfadaki denetimlerin olaylarını işlemek için

  1. Üzerinde Görünüm menüsünden seçin kod.

    Uygulama sayfa kod dosyası Kod Düzenleyicisi'nde açılır.

  2. Aşağıdaki yöntemi SearchItems sınıfına ekleyin.Bu kod işleme SelectedIndexChanged , olay DropDownList bu anlatımın oluşturacak bir yöntem çağırarak.

     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. Aşağıdaki ifadeleri uygulama sayfa kod dosyasının en üstüne ekleyin.

    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. Aşağıdaki yöntemi SearchItems sınıfına ekleyin.Bu yöntem, sunucu grubundaki tüm siteler arasında dolaşır ve geçerli kullanıcı tarafından değiştirilen veya oluşturulan öğeleri arar.

    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. Aşağıdaki yöntemi SearchItems sınıfına ekleyin.Bu yöntemi tablosundaki geçerli bir kullanıcı tarafından oluşturulmuş veya değiştirilmiş öğeleri görüntüler.

    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);
        }
    }
    

Uygulama sayfasında test etme

Projeyi çalıştırdığınızda, SharePoint sitesini açar ve uygulama sayfası görüntülenir.

Uygulama sayfasında test etmek için

  1. İçinde Çözüm Gezgini, uygulama sayfası için kısayol menüsünü açın ve sonra seçin başlangıç öğesi yap.

  2. F5 tuşuna basarak seçin.

    SharePoint sitesini açar.

  3. Uygulama sayfasında seçin değiştirildi benim seçeneği.

    Uygulama sayfayı yeniler ve, sunucu grubundaki tüm sitelerde değiştirdiğiniz tüm öğeleri görüntüler.

  4. Uygulama sayfasında seçin tarafımdan oluşturulan listesinde.

    Uygulama sayfayı yeniler ve sunucu grubundaki tüm sitelerde oluşturulan tüm öğeleri görüntüler.

Sonraki Adımlar

SharePoint uygulama sayfaları hakkında daha fazla bilgi için bkz: Uygulama sayfaları SharePoint için oluşturma.

Bu konulardan Visual Web Designer kullanarak SharePoint sayfa içeriği tasarlamak hakkında daha fazla bilgi edinebilirsiniz:

Ayrıca bkz.

Görevler

Nasıl yapılır: bir uygulama sayfasını oluşturma

Diğer Kaynaklar

Uygulama _layouts sayfa türü