SharePoint Visual Web Part Tool Pane Değişkenleri Tanımlamak Ve Bu Değişkenleri User Control Tarafında Kullanmak

1+

Merhaba arkadaşlar bugün sizlere sharepoint ortamında oluşturduğumuz bir visual web part için özel tool pane değişkenleri tanımlama ve bu değişkenlerin usercontrol tarafında nasıl kullanılacağından bahsedeceğim.

Webpartınızı dinamik hale getirmek ve bazı değerleri isteğe bağlı güncelleyebilmek için bu yöntem çok kullanışlı olmatadır. Aslında bunu console uygulamalarında app config tarafındaki değişken tanımlamaları gibi görebiliriz.

İlk “SharepointWebPartToolPane” adında sıfır bir sharepoint projesi oluşturuyorum ve proje tipi seçiminde “Farm Solution” seçeneğini seçiyorum.

Daha sonra “Add New Item” diyerek projemize webpartımızı ekliyoruz. Bu kısımda ben “Visual Web Part (Farm Solution Only)” olan webpart seçeneğini seçiyoruz. Bunu seçmemizin sebebi toolpane classı ve ayarlaması ile birlikte ascx ayrımı gibi özelliklerinin gelmektedir. Diğerlerini seçerek bu özellikleri sizde tanımlayabilirsiniz. Projemize webpartımızı ekliyoruz.

Projemize eklediğimiz webpartı inceleyecek olursak webpart özelliklerinin yer aldığı bir .xml dosyası, toolpane değişkenlerini tanımlayacağımız ve ascx konumunu gösteren .cs dosyası, webpart tanımlamalarının yer aldığı .webpart ve tabiki user control olan .ascx ve onun altında .ascx.cs dosyası bulunmaktadır.

İlk olarak string tipinde bir tane tool pane değişkeni tanımlaması yapıp bunu ascx tarafında nasıl kullanacağımıza bakalım.

Yukarıdaki değişken tanımlama kodumuzu .cs clasımızın içerisine ekliyoruz. Burada değişken adımızı tanımlıyoruz ve burada webpart properti de yer alacak tanımlamaları yapıyoruz.

Burada birden fazla değişken tanımlayabilir ve çeşitli tipler kullanabilirsiniz. Bu kod kısmını satır satır açıklayacak olursak;

  • public string YunusEmreWebPartTitle; ===> Webpart tarafında girilecek değerin tanımlanacağı değişken. Bu değişken adı isteğe göre değiştirilebilir.
  • Category(“Yunus Emre Webpart Settings”), ===> Webpart toolpane ekranında yer alan ayar kategorilerine yeni bir kategori olarak eklenmenisini sağlamaktadır. “[]” arasında kalan tüm ayarlamalar bu kategori ve alanın özelliklerini kapsamaktadır. Bu kategorinin ismini isteğer göre değiştirebilirsiniz. Eğer birden fazla değişken tanımlaması yapacaksanız ve bu değişkenlerin tek bir kategori içerisinde gelmesini istiyorsanız hepsinde aynı kategori ismini kullanmanız yeterli olacaktır.
  • Personalizable(PersonalizationScope.Shared), ===> Bu kısım bu değişkenin özelleştirilebilirlik ayarını göstermektedir.
  • WebBrowsable(true), ===> Bu kısımda bu ayarın görünüp görünmeyeceği ile ilgilidir. “true” yerine “false” yaparsanız ayarlarda görünmeyecektir.
  • WebDisplayName(“Yunus Emre WebPart Title”), ===> Burada değişkenimizin görünecek adını yazıyoruz isteğe göre değiştirilebilir.
  • WebDescription(“Yunus Emre WebPart Title”), ===> Burada değişkenimizin görünecek açıklamasını yazıyoruz isteğe göre değiştirilebilir.
  • public string _YunusEmreWebPartTitle { get { return YunusEmreWebPartTitle; } set { YunusEmreWebPartTitle = value; } } ===> Burada tanımlanacak değişken ise user control tarafında bu değişkenimizi kullanmamızı sağlayan bir değişken tanımlamasıdır. Hemen altındaki set get tanımlaması ise en üstte tanımladığımız değişken adını kullanarak yapıyoruz. Bu değişkenin adını da isteğe bağlı değiştirebilirsiniz. Ben bu değişkenin adını en üstteki değişkenin adının başına “_” koyarak kullandım ki hangi değişkenin set get yaparak kullandığımı rahat bilebilmemi sağlasın.

Şimdi user control tarafında ascx kısmında bir tane label tanımlıyorum. Bu tanımladığım label bu değişkene girdiğimiz değişkenin değerini gösterebilmemiz için kullanacağım.

Bu kısımda “ID” ve “runat” tanımlamalarını code behind tarafında kullanabilmek için yapmayı unutmuyoruz.

Code behind tarafına geldiğimiz zaman ilk önce tanımlama yaptığımız .cs class tipimde bir değişken oluşturuyoruz. Ben değişken adını “webpart” olarak tanımlıyorum. Page_Load’ın hemen içine code behinde tarafındaki parent controlümüzün bu classımızdaki yüklediğimiz kontrol olup olmadığını kontrol ederek hemen altında da parentımızı oluşturduğumuz değişkene tanımlıyoruz. Bu saye de o toolpane de yer alan değişkenlere ve değerlerine ulaşabiliriz. Bu işlemden sonra “webpart” değişkenimiz ile bu tanımlamalara ulaşabiliriz ve en alt satırda labela bu değişkendeki değeri setliyoruz.

Gördüğünüz gibi projemizi deploy edip sayfaya ekledikten sonra properti ayarlarına girip baktığımızda yaptığımız tüm tanımlamaları görmekteyiz. Burada textboxımıza değişken değer yazıp kaydettiğimizde sayfamızda görünmesi gerekmektedir.

Ben textboxa kendi adımı ve soyadımı yazıp kaydettiğim zaman ekran da benim ismim yazmaktadır. Sayfadan webpartı silmediğim ve düzenleyip bu değişkeni değiştirmediğim sürece bu tanımlama her zaman duracaktır.

Bu özellik sadece ekrana bilgi yazma işlemi için değil liste adı veya kod tarafında değişken gösterebilecek değerleri alabilmek içinde kullanılabilir.

Örnek projeye ve kodların tamamına aşağıdan ulaşabilirsiniz.

1+

Bir Cevap Yazın