Åžub 25
JQuery aracılığıyla bir formu ASP.NET sayfasına doğrudan POST veya GET ile gönderebilmek için Form Serialize işlemi gerçekleştirilir. Bu amaçla .serialize() veya .serializeArray() yordamları kullanılır.
Özellikle Internet Explorer ortamında bir formu serialize edip ASP.NET sayfasında okumaya çalıştığımızda Türkçe Karakter sorunu yaÅŸanmaktadır. ÖrneÄŸin “öçşğüİ” deÄŸeri öçşğüÄ ÅŸeklinde görünmektedir. Bu karakterlerin UTF-8 olarak gönderilmesi için aÅŸağıdaki örnekte gösterildiÄŸi gibi “application/x-www-form-urlencoded; charset=utf-8″ ÅŸeklinde content teype belirmek gerekiyor.
var formValue=$("#aspnetForm").serializeNoViewState();
$.ajax({
type: "POST",
url: "OrnekSayfa.aspx?Prm=1",
data: formValue,
beforeSend: function (xhr) {
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
},
contentType: "application/x-www-form-urlencoded; charset=utf-8",
dataType: "json",
success: function (msg, status) {
alert(msg);
},
error: function (xhr, msg, e) {
alert("Hata OluÅŸtu!\n" + xhr.responseText +"\n"+msg );
},
complete: function() {
alert('İstek başarıyla gönderildi.');
}
});
Åžub 24
ASP.NET sayfasına POST iÅŸlemi yaptığımızda post edilen metin içerisinde “<>” gibi web safyaları için tehlike oluÅŸturabilecek deÄŸerler gönderildiÄŸi zaman ASP.NET WP, “A potentially dangerous Request.Form value was detected from the client” hatasını fırlatır. Bu hatayı engellemek yani kullanıcının bu tür deÄŸerleri girmesine izin vermek için ASP.NET sayfasının tanımlama satırına validateRequest=”false” ibaresi yazılır. Aynı ÅŸekilde uygulamadaki tüm sayfalar için bu ayarın geçerli olması için Web.Config dosyasına aÅŸağıdaki gibi ekleme yapılabilir.
<pages validateRequest="false" />
Cross-site scripting (XSS) attack riskini engellemek için ASP.NET tüm sürümlerinde request validation özelliÄŸi varsayılan olarak aktifdir. ASP.NET’in önceki sürümlerinde bu doÄŸrulama iÅŸlemi sadece ASPX sayfaları için yapılmaktaydı. 4.0 sürümüyle birlikte doÄŸrulama iÅŸlemi doÄŸrudan BeginRequest aÅŸamasında devreye alınacak ÅŸekilde düzenlendi. Böylece uygulamaya gelen tüm istekler için yani sadece ASPX sayfaları deÄŸil, Web Servisi çağırma, HTTP handler çalıştırma gibi tüm ASP.NET kaynaklarına istek gönderildiÄŸi zaman doÄŸrulama iÅŸlemi devreye alınmış oldu.
Bazı durumlarda .NET Framework 4.0 altında eski sürüm ugyulamalarını çalıştırma durumumuz olabilir. Bu durumda hangi sürüm algoritmasının kullanacağını belirtmek için requestValidationMode niteliği kullanılır.
<system.web>
<httpRuntime requestValidationMode="2.0" />
</system.web>
Eyl 15
Bağıntı/İlişki Sınıfları (Association Classes)
Bağıntı sınıfı, iki nesne arasında kurulmuÅŸ bağıntı ile baÅŸka bir sınıfın iliÅŸkilendirilmesidir. Bu yöntem ana nesneler arasındaki bağıntının kendisine yeni nitelikler kazandırmak için kullanılır. ÖrneÄŸin öğrenci-ders bağıntısında öğrencinin kayıt tarihi, kayıt ücreti ve kredisi gibi nitelikler ancak öğrenci o derse kayıt olduktan sonra anlam kazanır. Bu nitelikleri bağıntının kendisine tanımlamak gerekir. Diyagram üzerinde bağıntı sınıfları bağıntıya kesik çizgi ile baÄŸlanır. Read the rest of this entry »
Eyl 14
Bir yazılım projesinde herÅŸeyden önce o proje ile ilgili yol haritası olan proje taslağı oluÅŸturulmalıdır. Proje taslağı onun baÅŸarısıyla doÄŸru orantılı olup projenin zaman ve iÅŸ gücü açısından verimli sonuçlanmasını saÄŸlar. Bu yöntem aynı bir inÅŸaat projesinde olduÄŸu gibi bir yazılım projesinde de baÅŸarı faktörü olarak karşımıza çıkar. Proje/iÅŸ tasarlamanın ilk adımı proje içerisindeki aktif oyuncuların anlayabileceÄŸi standart bir modelleme yapmaktır. Bir mühendislik yaklaşımı olan modelleme, karmaşık bir sistemin ÅŸekil ve metinlerle basit bir dil ile ifade edilmesidir. Read the rest of this entry »
Åžub 09
CETURK, 7 Åžubat Cumartesi günü Microsoft Türkiye İstanbul Ofisi‘nde benim de Ado.Net 3.5 / Ado.Net Entity Framework konusuyla konuÅŸmacı olarak katıldığım Microsoft Teknolojileri EtkinliÄŸi‘ni düzenledi. Benim açımdan iÅŸ ve sosyal hayat olarak yoÄŸun bir haftaya denk gelmesi, hediye olarak verdiÄŸimiz kitapları yetiÅŸtirmek için ciddi bir zaman harcamış olmam ve bunun sonucunda kendi sunum saatine yetiÅŸemememden dolayı etkin bir performans sergileyememiÅŸ olsam da benim için faydalı oldu. Konu katılımcı profiliyle ne kadar uyuÅŸtu veya onların ne kadar ilgisini çekti bilemiyorum ancak birkaç arkadaşın bu konularda ürün çıkaracak kadar çalışıyor olmaları beni daha da cesaretlendirdi. Tüm katılımcılara ve etkinliÄŸi düzenleyen CETURK ekibine de teÅŸekkür ederim. Oturumumla ilgili sunumu aÅŸağıda bulabilirsiniz.
Etkinlikle ilgili detayları http://www.ceturk.com/etkinlikkayit.asp?id=63 adresinde bulabilirsiniz.
May 11
Özel ÅŸekillendirilmiÅŸ kontrol olarak tanımlayacağımız bu kontroller, Control veya WebControl sınıflarından doÄŸrudan türetilmiÅŸ olup, programcı tarafından belirlenmiÅŸ HTML içeriÄŸi render eder. WebControl sınıfı, Control sınıfından inherit edilmiÅŸ olup Control sınıfının özellikleriyle beraber kontrollerin renk, font gibi görsel yönlerinin yönetilmesini saÄŸlayan özellikler sunar. Bu yöntemle geliÅŸtirilmiÅŸ kontrolün tag yapısını ve içeriÄŸini genellikle programcı HTML ifadeler yazarak oluÅŸturur. Bunu da daha önce kendisinden bahsettiÄŸimiz HtmlTextWriter nesnesi aracılığıyla yapar. Bu bölümde daha detaylı göreceÄŸimiz HtmlTextWriter sınıfı, kontrolleri render edip HTML çıktısını oluÅŸturma, elementlere ait attribute tanımlamaları yapma, style attribute oluÅŸturma gibi servisleri saÄŸlar. Read the rest of this entry »
May 08
Önceki bölümde özel web kontrol geliÅŸtirmeyle ilgili giriÅŸ yapmıştık. Bu bölümle birlikte kontrol geliÅŸtirme örneklerine geçeceÄŸiz. İlk örnek olarak Inherited Control türündeki kontrolleri iÅŸleyeceÄŸiz. Read the rest of this entry »
May 07
Component kavramı, yazılımın en küçük yapı birimini temsil eder. Bu kavram, 80′lı yılların sonunda uygulama geliÅŸtirme sürecinde uygulamayı bileÅŸenlere ayırma ve gerektiÄŸinde bu bileÅŸenleri daha sonra yeniden yazılmaksızın diÄŸer uygulamalarda kullanma ihtiyacından doÄŸmuÅŸtur. Bunun sonucunda bileÅŸen tabanlı yazılım geliÅŸtirme mimarisi ortaya çıkmıştır. Bu mimariyi desteklemek amacıyla Microsoft tarafında ActiveX, COM, Java tarafında Applet gibi teknolojiler piyasaya sürülmüştür. Bu makalede bileÅŸenlerin nasıl hazırlanacağı ve dağıtılacağını iÅŸleyeceÄŸiz. Read the rest of this entry »
Åžub 28
Microsoft firması .NET Framework 3.0 ile birlikte ADO.NET’in yeni bir versiyonunu yayınlamadı. .NET Framework 3.5 ile birlikte yeni eklentiler kazandırılmış ADO.NET 3.5 sürümü yayınlandı.
Microsoft, ADO.NET 3.5 sürümleriyle birlikte veritabanı uygulama mimarisinde büyük kolaylık saÄŸlayan Object Relational Mapping (O/R Mapping) yöntemini destekleyecek önemli adımlar attı. Bu amaçla ADO.NET Entity Framework aracı geliÅŸtirildi. Konunun ayrıntılarına geçmeden önce bu kavramları tanımlayalım ve neden yeni bir yaklaşıma ihtiyaç duyulduÄŸunu açıklayalım. Read the rest of this entry »
Ara 20
Farklı veritabanları üzerinden çekilmiÅŸ olan XML verisinin bir dosyaya kayıt edilip ilgili alana FTP ile gönderildiÄŸi projede ihtiyaç duyduÄŸum küçük bir örneÄŸi paylaÅŸmak istiyorum. Düz metin formatında bulunan XML datasının standart XML formatından girintili olarak gösterilmesi. Read the rest of this entry »
Recent Comments