İ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 ve Windows sürümleri desteklenir.Daha fazla bilgi için bkz. SharePoint çözümleri geliştirmek için gereksinimler.
Visual Studio Professionalveya, Visual Studio Uygulama Yaşam Döngüsü Yönetimi (alm) bir sürümdür.
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
Visual Studio uygulamasını başlatın.
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ü.
İç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.
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
İçinde Çözüm Gezgini, seçim MySharePointProject proje.
Menü çubuğunda Seç Proje, Add New Item.
İçinde Add New Item iletişim kutusunda, seçim Uygulama sayfası (yalnızca Grup çözüm şablonu.
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
Menü çubuğunda Seç Görünüm, araç.
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.
Eklemek için önceki adımı yineleyin bir DropDownList öğesi ve bir Tablo için madde PlaceHolderMain içerik denetimi.
Tasarımcısı üzerinde değerini değiştirmek Text tüm öğeleri göstermek için Etiket denetiminin özniteliği.
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
Üzerinde Görünüm menüsünden seçin kod.
Uygulama sayfa kod dosyası Kod Düzenleyicisi'nde açılır.
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); }
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;
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); }
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
İçinde Çözüm Gezgini, uygulama sayfası için kısayol menüsünü açın ve sonra seçin başlangıç öğesi yap.
F5 tuşuna basarak seçin.
SharePoint sitesini açar.
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.
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