Bu makalemizde SPWeb sınıfını inceleyelim.
SPWeb nesnesi, Sharepoint’te Site Collection içindeki bir site anlamına gelmektedir. Sharepoint Site Collection’lardaki sitelerle ilgili işlemleri bu nesne sayesinde gerçekleştirmekteyiz. Şimdi bu sınıfın önemli method ve propertylerini inceleyelim.
Property / Method | Açıklama |
ID | Site Collection’ın ID’si |
Url | Site Collection’ın URL’i |
Lists | SPListCollection türünde sitedeki tüm listeleri döndürür |
Name | Sitenin adını döndürür |
Update | SPWeb nesnesindeki tüm değişiklikleri kaydeder. |
Site | Site’nin üst site collectionını döndürür |
Files | Sitenin root directorysindeki dosyaları döndürür. |
Created | Sitenin oluşturulma zamanını döndürür |
Feateures | Sitedeki Featureları döndürür |
Description | Site tanımını döndürür |
Configuration | Site tanımının ID’sini döndürür |
Delete | Siteyi siler |
Close | Değişiklikleri iptal edip sitenin kodlamasını kapatır |
Workflows | Sitedeki workflowları listeler |
Folders | Sitenin rootundaki klasörleri listeler |
Exists | Sitenin var olup olmadığını control eder |
Author | Siteyi oluşturanı getirir |
ParentWeb | Üst sitesini getirir |
RootFolder | Sitenin root klasörünü döndürür |
Modules | Sitedeki modülleri döndürür |
CurrentUser | Sitedeki şu anki işlem yapan kullanıcıyı döndürür |
MasterUrl | MasterPage’in URL’ini döndürür |
Bu işlemleri bir örnekte inceleyelim.
Yeni bir Empty Sharepoint Project oluşturalım (Farm solution) ve bir Visual Web Part ekleyelim.
Bir label sürükleyip bırakalım ve code behind’a geçelim ve şu şekilde düzenleyelim:
- using System;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Text;
- using Microsoft.SharePoint;
- namespace SPFarmSolution.WebPart_SPWeb
- {
- public partial class WebPart_SPWebUserControl : UserControl
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- StringBuilder sonuc = new StringBuilder();
- using (SPWeb web = SPContext.Current.Web)
- {
- Guid webId = web.ID;
- sonuc.Append("Web ID: " + webId + "<br/>");
- string url = web.Url;
- sonuc.Append("Web URL: " + url + "<br/>");
- SPListCollection listeler = web.Lists;
- sonuc.Append("Liste sayısı: " + listeler.Count + "<br/>");
- string ad = web.Name;
- sonuc.Append("Web adı: " + ad + "<br/>");
- string baslik = web.Title;
- sonuc.Append("Web baslik: " + baslik + "<br/>");
- using (SPSite ustSite = web.Site)
- {
- sonuc.Append("Üst site URL: " + ustSite.Url + "<br/>");
- }
- SPFileCollection dosyalar = web.Files;
- sonuc.Append("Dosya sayısı: " + dosyalar.Count + "<br/>");
- DateTime olusturmaZamani = web.Created;
- sonuc.Append("Oluşturma zamanı: " + olusturmaZamani + "<br/>");
- SPFeatureCollection features = web.Features;
- sonuc.Append("Feature sayısı: " + features.Count + "<br/>");
- string tanim = web.Description;
- sonuc.Append("Tanım: " + tanim + "<br/>");
- SPWebCollection webler = web.Webs;
- sonuc.Append("Web sayısı: " + webler.Count + "<br/>");
- bool varMi = web.Exists;
- sonuc.Append("Site var mi? : " + varMi + "<br/>");
- SPUser olusturan = web.Author;
- sonuc.Append("Oluşturan: " + olusturan.Name + "<br/>");
- Label1.Text = sonuc.ToString();
- }
- }
- }
- }
Şimdi bunu denemek için yeni bir sayfa ekleyelim.
Sayfa düzenleme ekranında Insert -> Web Part -> Custom -> WebPart_SPWeb’ı sayfamıza ekleyelim.
Kaydedelim ve sonucunu görelim:
Veysel Uğur KIZMAZ