İnternette elimizin altında onlarca hazır JavaScript Fremework bulunmakta. Bu frameworkler belkide de en çok alkış alanı :) Prototype.
Ben bu yazım da prototype' ın Ajax methodlarına değineceğim. Bunun için ufak bir örnek hazırladım.
Senoryomuz şu şekilde;
Ekrandan iki adet textbox olacak ve biz bu textboxlara iki adet sayı girip Topla butonuna basacağız. Sonucu ise prototype Ajax methodları yardımı ile kendi sayfamıza getirecegiz.


Default.aspx :
<script src="prototype-1.6.0.2.js" language="JavaScript" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
function Hesapla(){
var Sayi1 = $('TextBox1');
var Sayi2 = $('TextBox2');
Topla(Sayi1.value,Sayi2.value);
}
function Topla(Sayi1,Sayi2) {
var url = "ToplaVeGonder.aspx?Sayi1=" + Sayi1 + "&Sayi2=" + Sayi2 ;
var AjaxObjesi = new Ajax.Request(
url,
{
method: 'get',
onFailure: HataOlustu,
onComplete: Sonuc
});}
var Sonuc = function(orjinalRequest) {
var islemCiktisi = orjinalRequest.responseText;
$('Sonuc').innerHTML = ' Sonuc :' + islemCiktisi;
}
var HataOlustu = function(orjinalRequest) {
alert('Hata ' + orjinalRequest.status + ' -- ' + orjinalRequest.statusText);
}
</script>
ama asıl işi yapacak olan sayfamız ToplaVeGonder.aspx sayfasıdır.
ToplaVeGonder.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
int Sayi1 = int.Parse(Request.QueryString["Sayi1"].ToString());
int Sayi2 = int.Parse(Request.QueryString["Sayi2"].ToString());
this.Sonuc.InnerText = (Sayi1 + Sayi1).ToString();
}
İşin aslı şu; Ajax.Request methodu ile ToplaVeGonder.aspx sayfasına iki adet querystring den parametre gönderiyoruz (var url = "ToplaVeGonder.aspx?Sayi1=" + Sayi1 + "&Sayi2=" + Sayi2 ;
) bu parametreleri Request.QueryString["Sayi1"] ve Request.QueryString["Sayi2"] ile alıp Toplama işlemini yaptıktan sonra sonucu ekrana yazdırıyoruz ve elimizde html satırları oluşuyor bu html satırlarınıda giriş ekranımızdaki divin içerisine innerHtml diyerek yazdırıyoruz.
80b4258b-e67d-447b-b836-163dd4a5af15|0|.0
Tamamen JavaScript ve css ile oluşturulmuş güzel bir çalışma

Kaynak kodlarını inceledigimizde görülecegi üzere validationun alt yapısı tamamen regex ile oluşturulmuş. Bizde uygulamızın senaryosuna göre regex oluşturabilir ve istegimiz kalıba uygun verilerin girilmesine izin verebiliriz.
inlineMsg('name','You must enter your name.',2);
Kaynak kodlar ve Ayrıntılı bilgi için leigeber

0383a99a-380a-4645-a474-1660c1280621|0|.0