Veysel Uğur KIZMAZ

Sharepoint 2010 Web Part, Event Receiver, Sandboxed Solution, Farm Solution

27.09.2011Okunma Sayısı: 5196Kategori: Sharepoint 2010

Bu makalemizde Sharepoint 2010 ile Web Part, Visual Web Part’I, Event Receiver’ın bunlarla kullanımını inceleyeceğiz. Bir yandan da Sandboxed Solution ile Farm Solution’ın kullanımına göz atacağız.

Şimdi yeni bir Empty Sharepoint Project oluşturalım.
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_31.png
 
Deploy as a farm solution seçeneğini seçelim.
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_32.png
 
Solution’a bir Empty Sharepoint Project daha ekleyelim.
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_33.png
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_34.png
 
Deploy as a sandboxed solution seçeneğini seçelim.
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_35.png
 
SPFarm projemize bir adet Visual Web Part ekleyelim.
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_36.png
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_37.png
 
VisualWebPart1 isminde web partımızı ekledik. Burada birçok eleman oluşturdu. Ekranda görünen kısmı VisualWebPart1UserControl olacaktır.
 
Şimdi User Controlümüze bir adet label ekleyelim ve label’ın Load’ına bir event ekleyelim.
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_38.png
 
Şimdi bir projemize bir Event Receiver ekleyelim.
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_39.png
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_40.png
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_41.png
 
Event Receiver’ımızı oluşturduk.
 
Şimdi SPSandboxed projemize bir Web Part ve bir Event Receiver ekleyelim.
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_42.png
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_44.png
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_43.png
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_45.png
 
Buradaki işlem şu şekilde olacaktır : Eleman eklendiğinde VisualWebPart1’I, eleman silindiğinde WebPart1’I etkilesin.
Şimdi VisualWebPart1’in kodlarına gidelim ve şu şekilde düzenleyelim.
 
 
  1. using System;
  2. using System.Web.UI;
  3. using System.Web.UI.WebControls;
  4. using System.Web.UI.WebControls.WebParts;
  5. using System.Text;
  6. using Microsoft.SharePoint;
  7.  
  8. namespace SPFarmSolution.VisualWebPart1
  9. {
  10.     public partial class VisualWebPart1UserControl : UserControl
  11.     {
  12.         protected void Page_Load(object sender, EventArgs e)
  13.         {
  14.         }
  15.  
  16.         protected void Label1_Load(object sender, EventArgs e)
  17.         {
  18.             StringBuilder output = new StringBuilder();
  19.             SPContext context = SPContext.Current;
  20.             SPSite site = context.Site;
  21.             output.AppendFormat("Site bağlantı URL'i: {0}<br/>", site.Url);
  22.  
  23.             SPWeb web = context.Web;
  24.             output.AppendFormat("Site URL: {0}<br/>", web.Url);
  25.  
  26.             SPList list = context.List;
  27.             output.AppendFormat("Liste başlığı: {0}<br/>", list.Title);
  28.             output.AppendFormat("Liste ID: {0}<br/>", list.ID);
  29.  
  30.             SPItem item = context.Item;
  31.             output.AppendFormat("Eleman ID: {0}<br/>", item.ID);
  32.  
  33.             SPFile file = context.File;
  34.             output.AppendFormat("Dosya: {0}<br/>", file.Name);
  35.  
  36.             SPFieldCollection fields = context.Fields;
  37.             output.AppendFormat("Field sayısı: {0}<br/>", fields.Count);
  38.  
  39.             SPListItem listItem = context.ListItem;
  40.             output.AppendFormat("Liste Elemanı ID: {0}<br/>", fields.Count);
  41.  
  42.             Guid listId = context.ListId;
  43.             output.AppendFormat("Liste ID: {0}<br/>", listId);
  44.  
  45.             int itemID = context.ItemId;
  46.             output.AppendFormat("Eleman ID: {0}<br/>", itemID);
  47.  
  48.             Label1.Text = output.ToString();
  49.         }
  50.     }
  51. }
 
WebPart1’in kod tarafını şu şekilde düzenleyelim.
 
  1. using System;
  2.  
  3. using System.ComponentModel;
  4.  
  5. using System.Web;
  6.  
  7. using System.Web.UI;
  8.  
  9. using System.Web.UI.WebControls;
  10.  
  11. using System.Web.UI.WebControls.WebParts;
  12.  
  13. using Microsoft.SharePoint;
  14.  
  15. using Microsoft.SharePoint.WebControls;
  16.  
  17. using System.Text;
  18.  
  19. namespace SPSandBoxed.WebPart1
  20.  
  21. {
  22.  
  23.     [ToolboxItemAttribute(false)]
  24.  
  25.     public class WebPart1 : WebPart
  26.  
  27.     {
  28.  
  29.         protected override void CreateChildControls()
  30.  
  31.         {
  32.  
  33.             StringBuilder output = new StringBuilder();
  34.  
  35.             SPContext context = SPContext.Current;
  36.  
  37.             SPSite site = context.Site;
  38.  
  39.             output.AppendFormat("Site bağlantı URL'i: {0}<br>", site.Url);
  40.  
  41.                         
  42.  
  43.             Label label1 = new Label();
  44.  
  45.             label1.Text = output.ToString();
  46.  
  47.             this.Controls.Add(label1);
  48.  
  49.         }
  50.  
  51.     }
  52.  
  53. }
 
 
Şimdi projemizi deploy edelim ve Sharepoint sayfamıza gidelim, WebPart1 ve VisualWebPart1’I inceleyelim.
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_46.png
 
Bu işlem için öncelikle bir deneme sayfası oluşturalım. Site Actions -> New Page diyelim.
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_47.png
 
Sayfamızın adı Deneme olsun
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_48.png
 
Şimdi syafamızı düzenleyelim. Ribbon menüsünden Insert -> Web Part’I seçelim. Custom’dan once VisualWebPart1’I, sonra WebPart1’I ekleyelim.
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_49.png
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_50.png
 
 
Şimdi Lists’e tıklayalım ve Announcement listelerine gidelim.
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_51.png
 
Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_52.png
 
Yeni bir duyuru ekleyelim ve silelim. Sonrasında tekrar Site Pages -> Deneme’ye gelelim.
 
 
Ekleme ve slime sırasında yapılmasını istediğimiz işlemler gerçekleşti.
 
 
 
Veysel Uğur KIZMAZ
Bilgisayar Mühendisi
veysel@ugurkizmaz.com
www.ugurkizmaz.com