"/>"/>
Yazılım Dilleri
Asp.Net 4.5 Kitabı
Skip Navigation Links

Sharepoint 2010 Dinamik Liste Oluşturma

Visual Studio'da kodla Sharepoint 2010 listesini nasıl oluşturacağımızı inceleyelim.

Daha önceki makalelerimizde listenin ne olduğunu, Sharepoint Designer’da, Visual Studio’da liste oluşturma ve ekleme işlemlerini görmüştük. Şimdi ise Visual Studio’da kodla listeyi nasıl oluşturacağımız inceleyelim.

Bu işlem için yeni bir Empty Sharepoint Project (Farm Solution) oluşturalım.
 
 
Projemizi oluşturduktan sonra yeni bir eleman ekleyelim : Application page
 
 
Add dedikten sonra Visual Studio, ShowLists.aspx isminde bir sayfa oluşturuyor.
 
 
Yalnız burada dikkat etmemiz gereken nokta, sayfanın tasarımı düzenlenirken Design sekmesi bulunmamaktadır. Yani tasarımımızı kodla yapmamız gerekiyor.
 
Şimdi, PlaceHolderMain isimli ContentPlaceHolder’ımıza toolboxtan 2  DropDownList 1 TextBox 1 Button sürükleyip bırakalım ve kodlarını şu şekilde düzenleyelim.
 
 
  1. <asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server">
  2.  
  3.     <asp:DropDownList ID="ddlSiteCollections" runat="server">
  4.  
  5.     </asp:DropDownList>
  6.  
  7.     <asp:DropDownList ID="ddlWebler" runat="server">
  8.  
  9.     </asp:DropDownList>
  10.  
  11.     <asp:TextBox ID="txbListeAdi" runat="server"></asp:TextBox>
  12.  
  13.     <asp:Button ID="btListeOlustur" runat="server" Text="Liste Oluştur" OnClick="btListeOlustur_Click" />
  14.  
  15. </asp:Content>
  16.  
  17.  
 

 Şimdi code behind tarafına gidelim ve aşağıdaki kodları yazalım. Sonrasında ne işe yaradıklarını inceleyelim.

 
  1. using System;
  2.  
  3. using Microsoft.SharePoint;
  4.  
  5. using Microsoft.SharePoint.WebControls;
  6.  
  7. using Microsoft.SharePoint.Administration;
  8.  
  9. using System.Web.UI.WebControls;
  10.  
  11. namespace DinamikListeProje.Layouts.DinamikListeProje
  12.  
  13. {
  14.  
  15.     public partial class ListeyiGoster : LayoutsPageBase
  16.  
  17.     {
  18.  
  19.         private SPFarm _farm = SPFarm.Local;
  20.  
  21.         protected void Page_Load(object sender, EventArgs e)
  22.  
  23.         {
  24.  
  25.             if (!Page.IsPostBack)
  26.  
  27.             {
  28.  
  29.                 SPWebService servis = _farm.Services.GetValue<SPWebService>("");
  30.  
  31.                 foreach (SPWebApplication uygulama in servis.WebApplications)
  32.  
  33.                 {
  34.  
  35.                     foreach (SPSite site in uygulama.Sites)
  36.  
  37.                     {
  38.  
  39.                         ddlSiteCollections.Items.Add(site.Url);
  40.  
  41.                     }
  42.  
  43.                     ddlSiteCollections.Items[0].Selected = true;
  44.  
  45.                 }
  46.  
  47.             }
  48.  
  49.         }
  50.  
  51.         private void Getir_Webler(string siteCollectionUrl)
  52.  
  53.         {
  54.  
  55.             SPSite site = new SPSite(siteCollectionUrl);
  56.  
  57.             foreach (SPWeb web in site.AllWebs)
  58.  
  59.             {
  60.  
  61.                 try
  62.  
  63.                 {
  64.  
  65.                     ListItem eleman = new ListItem(web.Url, web.Name);
  66.  
  67.                     ddlWebler.Items.Add(eleman);
  68.  
  69.                 }
  70.  
  71.                 finally
  72.  
  73.                 {
  74.  
  75.                     if (web != null) web.Dispose();
  76.  
  77.                 }
  78.  
  79.             }
  80.  
  81.             ddlWebler.Items[0].Selected = true;
  82.  
  83.         }
  84.  
  85.  
  86.  
  87.         protected void btListeOlustur_Click(object sender, EventArgs e)
  88.  
  89.         {
  90.  
  91.             SPSite site = new SPSite(ddlSiteCollections.SelectedItem.ToString());
  92.  
  93.             SPWebCollection webs = site.AllWebs;
  94.  
  95.             SPWeb web = webs[ddlWebler.SelectedValue];
  96.  
  97.             SPList liste = null;
  98.  
  99.             foreach (SPList buListe in Web.Lists)
  100.  
  101.             {
  102.  
  103.                 if (buListe.Title == txbListeAdi.Text)
  104.  
  105.                 {
  106.  
  107.                     liste = buListe;
  108.  
  109.                     break;
  110.  
  111.                 }
  112.  
  113.             }
  114.  
  115.             if (liste == null)
  116.  
  117.             {
  118.  
  119.                 Guid listeId = web.Lists.Add(txbListeAdi.Text,
  120.  
  121.                     "Liste kodla dinamik oluşturulmuştur",
  122.  
  123.                     SPListTemplateType.Links);
  124.  
  125.                 liste = web.Lists[listeId];
  126.  
  127.                 liste.OnQuickLaunch = true;
  128.  
  129.                 liste.Update();
  130.  
  131.             }
  132.  
  133.         }
  134.  
  135.     }
  136.  
  137. }

 

 

 Sayfamızı başlangıç noktası yapalım.
 
 
F5 ile projemizi çalıştıralım.
 
 
Karşımıza bu ekran geldi. İlk sırada Site Collection’lar. İkinci sırada Site’lar, Textboxta ise Oluşturacağımız listenin ismi yer alacaktır. Seçimlerimizi yapalım ve Liste Oluştur’a basalım.
 
 
Sayfamızı yenilediğimizde listemizin geldiğini görmekteyiz.
 
Veysel Uğur KIZMAZ
 

Yorumlar (0)

Yorum Yap

Mail listesine katılmak için tıklayınız

Hakkımdaki son bilgilere anlık erişmek için mail listesine katılabilirsiniz.