Bu yazımda Ajax işlemlerinde elde edilen Datetime (C#) türündeki bir veriyi Javascript tarafında nasıl işleyeceğimizi göstermeye çalışacağım. Ajax işlemlerinde nesneler üzerinden işlem yapabiliyoruz. Bu işlemlerde verileri json veya xml formatta elde ediyoruz. Elde ettiğimiz veri türü string, int, vb. gibi genel türde değilse çeşitli dönüştürme işlemleri yapmamız gerekebilir. Bu veri türlerinden biri de Datetime veri türüdür. Linq to Sql vb. gibi bir araç kullanıyorsak veya kendi nesnelerimiz ile çalışıyorsak ve bu nesneler Datetime türünde değişken içeriyorsa Ajax işlemlerinde bu verileri kullanabilmek için basit bir çevirme işlemi yapmamız yeterli oluyor. Bu çevirme işlemini ve örneği yazıının devamında bulabilirsiniz.
Öncelikle C# kodlarını ve script kodlarını vereceğim. Hazırladığım örnekte Datetime türünde bir webmethod ve bu webmethoda istekte bulunan bir script fonksiyonumuz var. Burada elde ettiğimiz Datetime türündeki veriyi script tarafında alıp, tarih olarak kullnacağız. (Hazırladığım örnek sayfayı
burada görebilirsiniz.)
// C# tarafında Datetime veri getiren metot
// Dönen sonuç /Date(1276814076592)/ gibi bir değer olmakta
[WebMethod]
public static DateTime Zaman()
{
return DateTime.Now;
}
// Datetime türünde veri alan ve işleyen script kodlar
$.ajax({
//...
success: function(msg) {
var tarih = eval('new' + msg.d.replace(/\//g, ' '));
},
//...
});
Görüldüğü gibi Datetime türünde gelen bir veriyi script tarafında date türüne böyle çevirebiliyoruz ve kullanabiliyoruz. Bu kullanıma tarih işlemlerini takvim eklentileri yapıyorsak takvime veriyi aktarmada ve kullanmada ihtiyaç duyabiliriz.
Hazırladığım örnek sayfayı
burada görebilirsiniz.
Burada verdiğim kodlarda Ajax işleminde dönen veri JSON formatında geliyor. Eğer biz webmethod'un sonuç tipini değiştirmezsek bu işlem böyle yapılmakta. Ancak webmethodların sonuç tipini XML olarak da ayarlayabiliyoruz. O zaman ise gelen veriyi alıp, benzer biçimde yine date türüne çevirmemiz gerekiyor. Bu konuda en kısa sürede başka bir yazım olacaktır.
İyi çalışmalar.