.NET Framework 4.5 Yenilikleri

Ne yazık ki uzun süredir tüm dünyada yazılımsal gelişmeler, haberler ve paylaşımlar durma noktasına geldi. Bu süreçten elbette ülkemiz de nasibini aldı. Genellikle diğer Türk yazılımcılarla bol bol irdelenen Framework yenilikleri bu rehavetten etkilenmiş olacak ki pek Türkçe kaynak bulamadım. Bu işi de ben yükleneyim dedim. Bu yüzden .NET Framework 4.5 yeniliklerini mümkün olduğunca anlamaya ve incelemeye çalışıp fırsat buldukça yazmaya çalışıyor olacağım.

Windows Market Yenilikleri

Taşınabilir Sınıf Kütüphaneleri

Yapısal (çekirdekte) Yeni Özellikler ve Geliştirmeler

Web Tarafında Geliştirmeler

Ağ (network) Tarafında Gelişmeler

WPF’teki Yenilikler

WCF’teki Yenilikler

WF’teki Yenilikler

Reklamlar

ASP.NET JavaScript Tarafında Sayfanın Valid Olup Olmadığının Kontrolü

ASP.NET kod tarafında (code behind) sayfadaki validatorların  (boş geçilmesin, eposta istenen formatta mı vb. gibi) istediği koşullara uyulup uyulmasığını malumunuz Page.IsValid yardımıyla görebiliyorduk. Peki oldu ki daha istek sunucuya gelmeden sayfadaki validator koşullarının durumunu görmek ve buna göre bir olay çağırmak istedik. O zaman? İşte o zaman yardımımıza şu kodlar koşuyor:

var Validated= Page_ClientValidate(‘1’);

//burada 1, ValidationGroup’u temsil ediyor
if (Validated){
LoadingPanel.Show(); }

Eğer sayfadaki 1 adlı ValidationGroup’a dahil validatorlarda sıkıntı yoksa, LoadingPanel’in Show olayı çağırılacaktır. Bunu bir düğmenin (button) OnClick olayı içi HTML tarafında rahatlıkla <script type=’text/javascript> </script> blogunun içinde yazabiliriz.

Haydi kolay gelsin.

DevExpress ASP.NET Captcha Kullanımı

Yine uzun bir aranın ardından “merhaba” =]

Yakında duyuracağım ufak çaplı bir tasarı sırasında kullanma gereksinim duyduğum bu güzel denetim nesnesi hakkında bilgi vermek istedim. Öncelikle ‘captcha’ nedir?

Captcha (okunuşuyla “keapça”), veri girişi yaptığınız bir sayfada, girdiğiniz verileri siteye üst üste göndermenizi (postback) engellemek için alınabilecek bir önlemdir (güvenlik anahtarı isteyen bir kutucuk). Söz gelimi bir üye girişi yaptığınız bir sayfada ‘eposta’ ve ‘şifre’ kutucukları var ve ‘oturum aç’ diyerek giriş yapıyorsunuz. ASP.NET tarafında bu kutucuklara ve düğmeye kod tarafında (code behind) ulaşıp sürekli olarak istek gönderebilir, otomatik olarak her türlü eposta\şifre birleşimini (kombinasyon) deneyebilir ve siteye bu birleşimlerden herhangi biriyle giriş yapabilirsiniz. Peki captcha tüm bunların neresinde? Eğer siz bu tür saldırıların olası olduğu bir sayfada captcha kullanırsanız, birileri tarafından sürekli olarak istek gönderilebilmesi için, captcha kutucuğunun doğru anahtarla geçilmesi gerekir. Tamamen atıp-tutarak (random) oluşturulan bu anahtarın herhangi bir şekilde otomatik olarak geçilmesi söz konusu değildir.

Şimdi gelelim ASPxCaptcha’ya. DevExpressîn bu güzelim nesnesinin demosu:  DevExpress ASPXCaptcha

Yeni bir ASPXCaptcha nesnesi yaratıyoruz:

  <dx:ASPxCaptcha ID=”captchaMehmetKAPLAN” runat=”server” </dx:ASPxCaptcha>

Bu nesneyi yaratmamız captcha için gerekli olan tüm özellikleri bize sağlıyor. İşimize yarayacak bazı özelliklerine değinelim:

ValidationSettings, ErrorText; captcha kodu doğru girilmediğine verilecek olan uyarıdır.

ValidationSettings, ValidationGroup; eğer geçerli sayfada kullandığınız bir ValidationGroup varsa captchayı o gruba dahil etmek içindir.

RefreshButton Text; yeni bir captcha kodu yaratılmasını sağlayan düğmenin (button) metin (text) özelliğidir.

Textbox, LabelText; “captcha kodunu giriniz” şeklinde uyarının yer aldığı bölümün metin özelliğidir.

Tüm bunların dışında eğer bir DevExpress teması kullanıyorsanız SkinID kısmına ‘dummy’ gibi skinler yazarak captcha tipini değiştirebilirsiniz.

Görsel olarak işimiz bittikten sonra kod tarafında captcha kodunun doğru girilip girilmediğini anlamak için:

if(captchaMehmetKAPLAN.IsValid) …

Şeklinde kullanabilirsiniz. JavaScript tarafında kod yenileme gibi bir takım olayları tetiklemek isterseniz ClientSideName’e bir id verip, JS tarafında id.Refresh() gibi olayları çağırabilirsiniz.

Haydi kolaylar gelsin.

DevExpress ASPxTextBox’ın Password ve NullText Özellikleriyle Birlikte Kullanmak

Yavaştan buralara dönüyor olmanın haklı sevinciyle selamlar! =]

Geçenlerde DevExpress’in ASP.NET nesnelerinden biri olan ASPxTextBox’ın password özelliğini açıp, NullText özelliğine bir değer girdim ve NullText’in password özelliğiyle beraber kullanılamadığını fark ettim. Hiç şüphesiz, bu DevEx için bir bugdı ve daha önce karşılaşmış olabileceği şüphesiyle DevEx forumlarında araştırdım; evet, bir bug. Sonucunda, nasıl bir yol izlenmesi gerektiğiyle ilgili birkaç satırlık Javascript paylaşılmış. Öncelikle, script kısmı (daha önce script kullanmadıysanız, <body>den önce yazabilirsiniz):

<script language=”javascript”>

function IsOldIE() {
return ASPxClientUtils.ie && (ASPxClientUtils.browserMajorVersion < 9);
}

function SetInputType(input, newTypeValue) {
if (IsOldIE())
//Only for IE 8
input.attributes(“type”).nodeValue = newTypeValue;
else
input.type = newTypeValue;
}

function txtPassword_Init(s, e) {
if (s.GetText() != “”)
SetInputType(s.GetInputElement(), “password”);
}

function txtPassword_GotFocus(s, e) {
SetInputType(s.GetInputElement(), “password”);
}

function txtPassword_LostFocus(s, e) {
if (s.GetText() == “”)
SetInputType(s.GetInputElement(), “”);
}
</script>

 

HTML kısmı:

<dx:ASPxTextBox ID=”txtPassword” runat=”server” NullText=”Password”
Width=”170px”>
<ClientSideEvents
Init=”txtPassword_Init”
GotFocus=”txtPassword_GotFocus”
LostFocus=”txtPassword_LostFocus” />
</dx:ASPxTextBox>

Artık password özelliğimizi nulltext özelliğimizle birlikte doyasıya kullanabiliriz. =]

Konuyla ilgili DevExpress kaynağı: http://devexpress.com/Support/Center/p/S131728.aspx

 

ASP.NET DevExpress RadioButtonList Kullanımı

DXv2 ile beraber kullanıma sunulan yeni ASP.NET nesnelerinden biri de RadioButtonList. Kullanımı oldukça basit.:

<dx:ASPxRadioButtonList ID=”ASPxRadioButtonList1″ runat=”server” ValueField=”ID”
TextField=”Durum_Adi” RepeatColumns=”1″ RepeatLayout=”Table”  DataSourceID=”SqlDataSource1″ SelectedIndex=”2″ />

Burada özellikleri kısaca tanımlayalım:

ValueField, ekranda seçilen değerin veri tabanındaki ID karşılığı.

TextField, ekranda RadioButton olarak gösterilecek olan elemanın kendisi. Yani ekranda sunmak istediğiniz eleman.

RepeatColumns, aynı satırda kaç tane tekrar yapmak istediğinizi ayarladığınız özellik.

DataSourceID,Veri tabanı cümleciği (Connection string)

SelectedIndex,  varsayılan olarak eleman seçtirmek için kullanılan özellik.

Bunun dışında RepeatLayout özelliği ile (alabileceği değerler Table ve Flow) yerleşim özelliğini belirleyebilirsiniz.

İsterseniz özel olarak resim gösterebilirsiniz. Bunun için yeni bir Item ekleyip, ImageUrl belirlemelisiniz. Eğer veri tabanından alacak şekilde resimli olarak görüntülemek isterseniz ASP.NET DevExpress List Editors \ Custom Images kullanmalısınız. Demo bağlantısı: http://demos.devexpress.com/ASPxEditorsDemos/ListEditors/CustomImages.aspx

Konuyla ilgili DevExpress kaynakları: http://documentation.devexpress.com/#AspNet/CustomDocument10778

http://demos.devexpress.com/ASPxEditorsDemos/ListEditors/RadioButtonList.aspx

Haydi kolay gelsin.

ASP.NET Animasyonlu Pop-up Örneği

Google’dan söz konusu konuyla ilgili olarak sürekli arama yapıldığını görünce ben de merak edip araştırayım dedim ve güzel bir örnek buldum. Aşağıda popup nesnesinin boyut, renk, yerleşim özellikleri baz alınarak yapılmış basit ve iştah açıcı bir örneği var.

http://www.asp.net/ajaxlibrary/AjaxControlToolkitSampleSite/Animation/Animation.aspx

DevExpress DXv2 ASP.NET Yenilikleri

DevExpress DXv2’nin ASP.NET Yenilikleri:

iOS ve Android için birçok nesneye özel dokunmatik desteği…

ASP.NET MVC için Pivot Grid, Track Bar, Check Box List, GridView, Upload Control, Takvim…

Gauge için başarım iyileştirmeleri, yeni gauge modelleri…

Scheduler için saat hücrelerinin otomatik genişlik ayarının yapılması yeniliği…

Pivot Table için hiyerarşik, gruplanabilir süzme özelliği, süzme yenilikleri…

ASP.NET HTML Editör için klavye özelleştirmeleri, context menü yenilikleri…

ASP.NET Upload ve File Manager için çoklu dosya seçim desteği…

Chart’taki eksen çözünürlük sorunun çözümü

Yeni Theme Builder…

Yeni demo uygulamalar…

%d blogcu bunu beğendi: