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.
Deploy as a farm solution seçeneğini seçelim.
Solution’a bir Empty Sharepoint Project daha ekleyelim.
Deploy as a sandboxed solution seçeneğini seçelim.
SPFarm projemize bir adet Visual Web Part ekleyelim.
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.
Şimdi bir projemize bir Event Receiver ekleyelim.
Event Receiver’ımızı oluşturduk.
Şimdi SPSandboxed projemize bir Web Part ve bir Event Receiver ekleyelim.
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.
- 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.VisualWebPart1
- {
- public partial class VisualWebPart1UserControl : UserControl
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- }
- protected void Label1_Load(object sender, EventArgs e)
- {
- StringBuilder output = new StringBuilder();
- SPContext context = SPContext.Current;
- SPSite site = context.Site;
- output.AppendFormat("Site bağlantı URL'i: {0}<br/>", site.Url);
- SPWeb web = context.Web;
- output.AppendFormat("Site URL: {0}<br/>", web.Url);
- SPList list = context.List;
- output.AppendFormat("Liste başlığı: {0}<br/>", list.Title);
- output.AppendFormat("Liste ID: {0}<br/>", list.ID);
- SPItem item = context.Item;
- output.AppendFormat("Eleman ID: {0}<br/>", item.ID);
- SPFile file = context.File;
- output.AppendFormat("Dosya: {0}<br/>", file.Name);
- SPFieldCollection fields = context.Fields;
- output.AppendFormat("Field sayısı: {0}<br/>", fields.Count);
- SPListItem listItem = context.ListItem;
- output.AppendFormat("Liste Elemanı ID: {0}<br/>", fields.Count);
- Guid listId = context.ListId;
- output.AppendFormat("Liste ID: {0}<br/>", listId);
- int itemID = context.ItemId;
- output.AppendFormat("Eleman ID: {0}<br/>", itemID);
- Label1.Text = output.ToString();
- }
- }
- }
WebPart1’in kod tarafını şu şekilde düzenleyelim.
- using System;
- using System.ComponentModel;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using Microsoft.SharePoint;
- using Microsoft.SharePoint.WebControls;
- using System.Text;
- namespace SPSandBoxed.WebPart1
- {
- [ToolboxItemAttribute(false)]
- public class WebPart1 : WebPart
- {
- protected override void CreateChildControls()
- {
- StringBuilder output = new StringBuilder();
- SPContext context = SPContext.Current;
- SPSite site = context.Site;
- output.AppendFormat("Site bağlantı URL'i: {0}<br>", site.Url);
- Label label1 = new Label();
- label1.Text = output.ToString();
- this.Controls.Add(label1);
- }
- }
- }
Şimdi projemizi deploy edelim ve Sharepoint sayfamıza gidelim, WebPart1 ve VisualWebPart1’I inceleyelim.
Bu işlem için öncelikle bir deneme sayfası oluşturalım. Site Actions -> New Page diyelim.
Sayfamızın adı Deneme olsun
Şimdi syafamızı düzenleyelim. Ribbon menüsünden Insert -> Web Part’I seçelim. Custom’dan once VisualWebPart1’I, sonra WebPart1’I ekleyelim.
Şimdi Lists’e tıklayalım ve Announcement listelerine gidelim.
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