19 Kasım 2010 Cuma

Globalization

Globalization ASP.net sayfalarında, asp.net kontrollerinin kullanıcının seçili dilinde görüntülenmesini sağlayan sistemdir.

Yani sayfanızda bir form olduğunu düşünün. Form kısımlarını tanımlayan label kontrollerinin, butonların dilinin kullanıcı tarayıcısına göre değişmesini sağlayabilirsiniz.

Bunun için resource dosyaları kullanılır.

Bir örnek yapacak olursak;

Önce sayfaya bir label kontrolü ekleyin. Karşısına bir textbox ekleyin. Altına da bir buton kontrolü ekleyin. Label ve buton kontrolünün text özelliklerini temizleyin ve birşey yazmayın.

Sonra solution explorera bir klasör ekleyin ve ismini App_LocalResources olarak değiştirin. Bu klasör içine bir Resources File ekleyin. Bu dosyanın ismini, kontrolleri eklediğiniz sayfanın uzantısıyla birlikte adı olarak değiştirin. Yani mesela Default.aspx sayfası ise sayfanızın ismi; resource dosyasının adını Default.aspx.resx olarak değiştirin.

Ardından bu dosyaya çift tıklayın. Karşınıza tablo yapısı gelecektir. Name Value gibi alanlar göreceksiniz. Name kısmına eklediğiniz kontrollerin ismi.Text şeklinde yazın. Yani label kontrolünün id si Label1 ise; Name kısmına Label1.Text yazın. Value kısmına da görünmesini istediğiniz değeri girin. Diğer kontroller için de aynı işlemleri yaptıktan sonra dosyayı kaydederek kapatın.


Bu oluşturulan dosya default resource dosyasıdır. Mesela İngilizce diline ait bir dosya oluşturmak için; dosya adına dil kodu eklenmelidir. İngilizce için de ayrı dosya eklenmelidir. İngilizce için dosya ismi bu örnekte, Default.aspx.en.resx olmalıdır. en kısmı English i temsil eder. Türkçe için de tr dir.



Sistemin çalışması için son yapılacak iş ise; ilgili sayfamızın html kod kısmına gelip, her kontrol tagine;

meta:resourceKey="Label1"

gibi özellik eklemesidir. Burada Label1 kontrolün id sidir.

4 Kasım 2010 Perşembe

ASP.net WebParts

Kolay düzenlenebilir ve özelleştirilebilir kontroller ile portal sayfası tasarlamak için asp.net te webparts adındaki kontroller kullanılır. Buna bir örnek olarak igoogle verilebilir. Her bölmede farklı görevlerde elementler vardır. Kişiselleştirilebilir yapılardır. Kullanıcı istemediği bölmeyi kapatır.

Sayfadaki bu webpart kontrollerinin çalışması için veritabanı yapısına ihtiyaç vardır. Bu noktada sisteme müdahale etmeniz gerekmez. Yapmanız gereken sadece asp.net in kendi oluşturduğu tabloları kullanmanız. Bu işlem için visual studio command tool u açıp aspnet_regsql komutunu çalıştırın. Karşınıza grafiksel bir sihirbaz gelecek. Burada yönergeleri takip edin. Veritabanı ve sunucu kısmına; kendi makinenizde yapacağınız uygulama için localhost yazmanız yeterli veya daha kolayı bir nokta koyun. Alt kısımda veritabanlarından birini seçebilir ya da yeni veritabanı oluşturmak amacıyla vt ismi girebilirsiniz. Bu işlemlerden sonra sihirbaza devam edilip bitirilir.

Bu yaptığımız işlemle webparts için gerekli tablolar veritabanına kurulmuş olacaktır. Ardından web.config dosyasında connection string ayarı yapmalısınız. web.config e connection string eklemek için; configuration node(düğümü) un hemen altında connectionStrings diye bir node açın. Intellisense size yardım edecektir.
Açılan connection string node içine; öncelikle daha üst bir connection varsa bunu ezmek için clear tagi eklemelisiniz. Ardından da

Connection string adı mutlaka LocalSqlServer olmalıdır. Database olarak sihirbazda verdiğiniz database adı yazılmalıdır.

Webpart Kontrolleri

Webpartların çalışması için sayfanızın en üstüne Webpartmanager kontrolünü eklemelisiniz. Bu kontrol ve diğer web part kontrolleri toolbox ta webparts tabı altında yer alır.

Webpart zone kontrolleri içerisinde farklı elementlerin tutulmasını ve bunların ortak bir tasarıma sahip olmasını sağlayan kontrollerdir. Sayfaya birden fazla webpart zone ve bunların içlerine değişik kontroller eklenebilir. Webpart zone larda, visual studio design modunda aktif durumdayken köşelerindeki küçük oka tıklanarak auto format özelliği açılabilir ve tasarımları değiştirilebilir. Mesela bu zonelar içine bir calendar kontrolü sürükleyin. Veya bir login kontrolü sürükleyin. Arından autoformat la tasarımlarını değiştirin.



Webpart zoneların düzenlenmesi için webpart manager da edit ve design modları mevcuttur. Kod tarafında;

WebPartManager1.DisplayMode = WebPartManager.EditDisplayMode;
WebPartManager1.DisplayMode = WebPartManager.DesignDisplayMode;

şeklinde erişilebilir. Peki bunlar nedir? Bunlar webpartların çalışma zamanında görüntülenme seçenekleridir. Browse modu sadece gösterimi sağlar.
EditDisplayMode modu, kontrollerin görünüşü, başlığı, konumu ve boyutlarını ayarlamayı sağlar. Bunun için webpartmanager editdisplaymode da açılmalıdır. Default ta webpartmanager browse mode da açılır. Edit modun çalışması için sayfaya EditorZone kontrolü eklenmeldir. Bu kontrolün içine de Layouteditorpart, appearanceditorpart kontrolleri eklenmelidir. Bu kontroller de webpart tabı altında bulunur. Edit mod formlarını açmak için çalışma zamandında düzenlenmek istenen kontrolün üstündeki ok a tıklanarak edit menüsüne tıklanmaldır.



Catalog modu da, hangi webpartın hangi zone içine ekleneceğini ayarlamayı sağlar.



Örnek proje için tıklayın.