Thursday, March 23, 2006

Mart CTP de Atlas da gozume carpan yenilikler soyle:

  • sunucu tarafinda daha onceden 8 kontrol falan vardi, simdi 12 kontrol olmus
  • Web Part Manager ve Web Part Zone diye iki kontrol daha eklenmis
  • Gadget kontrolu eklenmis, Gadget kontrolu icin, diger sitelerden bilgi alip, kendi sitenizde kullanabilirsiniz deniliyor...
  • Onceden Scriptleri bulunduran bir ScriptLibrary klasoru vardi, icinde bir suru JavaScript dosyasi vardi, artik yok (dll e eklemisler)
  • Atlasin Class Librarysinde NameSpace mantigi degismis, Web ile baslayanlar, Sys ile basliyor

Simdilik bu kadar, yeni ornekler yaptikca buraya ekleyecegim yenilikleri...

Thursday, March 23, 2006 6:06:23 PM (GTB Standard Time, UTC+02:00)  #    Comments [0]  | 
Wednesday, March 22, 2006

Ozellikle Ajax yada Atlas teknolojileri ile ugrasiyorsaniz, ama hemen hemen her Web isi yapan kisilerin (Web Programcilari ozellikle) ihtiyaci olabilecek iki program oneriyorum,

Birincisi IE Developer Toolbar, bu program sayesinde HTML etiketleri arasinda gezebilir, sayfadaki resimleri yuklememesinden tutunda, resimlerin arasinda kac pixel kullanilmis, hangi Style etiktei war, hangi Java Script fonksiyonu cagarilmis gorebilirsiniz,

indirmek icin :
http://www.microsoft.com/downloads/details.aspx?FamilyID=e59c3964-672d-4511-bb3e-2d5e1db91038&DisplayLang=en
(Evet link biraz uzun : )

Diger program ise kadim dostum Tamer in onerdigi ieHTTPHeaders programi bu program ilede, post edilen get edilen datalari, Header bilgilerini vs. gorebiliyorsunuz...

indirmek icin :
http://www.blunck.info/iehttpheaders.html

ben kullaniyorum, sizde kullanin isterim (:

Tuesday, March 21, 2006 10:17:59 PM (GTB Standard Time, UTC+02:00)  #    Comments [0]  | 
Tuesday, March 21, 2006

Evet An itibari ile ogrenmis bulunuyorum ki, Atlas March CTP cikmis,

indirmek icin (2.2 MB) :

http://www.microsoft.com/downloads/details.aspx?FamilyId=B01DC501-B3C1-4EC0-93F0-7DAC68D2F787&displaylang=en

dokumanlari icin :

http://atlas.asp.net/docs/

bi dur da yetiselim MS (:

Tuesday, March 21, 2006 9:33:03 AM (GTB Standard Time, UTC+02:00)  #    Comments [0]  | 
Monday, March 20, 2006

Artik Atlas orneklerini upload etmeye baslayalim (:
Atlas March CTP cikmadan bu hali ile yaptiklarimizi gosterelim..(:
Oncelikle ornegi server a upload edemedim, zira amac Atlas ornegi, XML ile ugrasmadim, direk Sql Server Desktop Engine ile yaptim (Sunucuda Sql Server destegi yok maalesef)

Ornekte neler var, ornek arkadaslarinizin bilgilerini tutabileceginiz bir yapida amac contant bilgilerini tutmak, Datagrid ile guncelleme islemleri yapiliyor, DetailsView ilede ekleme islemleri, yani iki tane UpdatePanel var, hepsi Atlas ile post back olmadan yapiliyor, bunun yaninda, "yukleniyor" uyarisi (yani UpdateProgress) ve surukle birak islemleri icin DragOverlayExtender kullaniliyor...

Ornegin indirilebilir hali assagida, sorulariniz icin mailimi kullanabilirsiniz...

ContactAtlas.rar (361,78 KB)
Monday, March 20, 2006 9:46:09 PM (GTB Standard Time, UTC+02:00)  #    Comments [0]  | 

Su anda ustunde calistigimiz Atlas in Ocak CTP sinden sonra, cok yakinda Atlas in Mart CTP si cikacakmis, ayrica http://atlas.asp.net de yenilenmis durumda... daha fazla kaynaga yonelik bir site yapmislar...

Biz hah tamam Atlas i ogrendik derken, bakalim yeni CTP de neler olacak..(:

bi dur da yetiselim MS (:

Monday, March 20, 2006 2:34:07 PM (GTB Standard Time, UTC+02:00)  #    Comments [0]  | 
Friday, March 17, 2006

Asp.Net 2.0 ile gelen ICallbackEventHandler Interfaceini kullanarak basit islerinizi Ajax mantigi ile yapabilirsiniz, basit bir ornek icin

http://www.cenkcaglar.com/CallBackTest

bu Interface iki Metot iceriyor

Function GetCallbackResult() As String
Sub RaiseCallbackEvent(ByVal eventArgument As String)

RaiseCallbackEvent Metodunuz yolladiginiz String i alip islemlerinizi yapmaniz icin, GetCallbackResult Metodunuz ise bu islemlerin sonucunda Client a gondermek istediginiz deger icin,
Ancak, Sayfaniz ilk yuklenirken,  Page.ClientScript.GetCallbackEventReference metodu ile Sayfanizda bir problem yoksa hangi fonksiyonu, varsa hangi fonksiyonu calistirmasi gerektigini anlatmaniz gerekiyor, Daha sonrada da bu kodun Clientta calisibilirligniz anlatmaniz gerekiyor, ornek bir yazimi soyle

Dim kod As String = Page.ClientScript.GetCallbackEventReference(Me, "arg", "CallBackOKTarih", "cntx", "CallBackErrTarih", True)
Dim anaKod As String = "function YasHesapla(arg,cntx){" & kod & " }"
Page.ClientScript.RegisterClientScriptBlock(Me.GetType, "YasHesapla", anaKod, True)

Sonrasinda ise, Sayfanizin HTML tarafinda impelemnt edeceginiz minimum uc fonksiyonunuz olmali birtanesi bu code-Behind dan eklediginiz kodu cagiracak olan fonksiyon, bir tanesi problem olmadiginda calisacak fonksiyon, digeri ise bir hata (Exception) oldugunda calisacak fonksiyon...

function Hesapla() {
YasHesapla(document.getElementById(
"txtYas").value,"txtYas")
};

function CallBackOKTarih( result, context )
{
alert(result);
}

function CallBackErrTarih( error, context )
{
alert(
"Tarih Formati Hatali, " + error);
}


bu kadar kolay (:

CallBackTest.rar (2,61 KB)

Friday, March 17, 2006 2:48:42 PM (GTB Standard Time, UTC+02:00)  #    Comments [0]  | 

An itibari ile ogrenmis bulunuyorumki, Asp.Net de Default button olayina cozum bulmuslar, Onceden (Asp, Php neyse) sayfalarda birden cok <form> etiteki kullanabildigimiz icin Default Button problem olmuyordu, Ancak Asp.Net ile tek forma inen yapilarda default button tam bir problemdi, Cozmek icin bazi JavaScript ler kullaniyorduk, ancak pekde sevimli degildi isin acikcasi.

Artik Panel kontrolunun DefaultButton Property si var, boylece sayfalarinizda Paneller kullanarak kullanicinin Enter a bastiginda istediginiz Submit yontemini cagirmasini saglayabilirsiniz...

Istediginiz diyorum cunku, IButtonControl Interface ini Implement eden her turlu kontrolu kullanabiliyorsunuz, Button, LinkButton, ImageButton vs.

ornegi ise soyle,

Thursday, March 16, 2006 10:02:17 PM (GTB Standard Time, UTC+02:00)  #    Comments [0]  | 
Thursday, March 16, 2006

Microsoft un Live (www.live.com) hizmetlerinden birisi olan Mail, yani Hotmail in yerini alacak olan uygulamanin betasi ile ilgili davetiye geldi, Atlas ile yazilmis olan bu uygulama oncelikle cok hizli calisiyor ve tasarimi cok basarili olmus... Artik Hotmail in goruntusu benim icin bitti, cunku default olarak Live Mail aciliyor...

Ayni zamanda cok basarili olan OWA (Outlook Web Access) nin da yeni surumunun nasil olacagina isik tutuyor...

Thursday, March 16, 2006 12:21:06 AM (GTB Standard Time, UTC+02:00)  #    Comments [0]  | 
Tuesday, March 14, 2006

Ajax ile ugrasanlar, Ajax.Net bilesenini duymustur, Onceki Ajax denemelerime gore gercekten harikalar yarattigi soylenebilir (: Bu Sefer bir RSS Reader yazdim, cok kolay mantigi Sitenin RSS ini okuyor, Basliklari listeliyor ve gormek istediginize bastiginizda size icerigi getiriyor,

http://www.cenkcaglar.com/AjaxNetTest/

ornegi buradan inceleyebilirsiniz, Cok az JavaScript kodu ile ugrastim, en guzel yani ise Asp.Net te code behind a yazdigim metodu direk cagirip kullanabilmemdi, sadece ekstra olarak "Ajax.AjaxMethod()" Attribute unu ekliyorsunuz fonksiyona, ve geriye DataSet dondurdugum metotu JavaScript ile soyle kullandim

res.value.Tables[0].Rows[i].EntryId

Guzel degilmi ? (:

Ajax.Net ile bilgiyi, http://ajax.schwarz-interactive.de/csharpsample/default.aspx bulabilirsiniz...

Ornek Kodlari asagidaki linkten indirebilirsiniz.

Not : Onceki Ajax kodlari Fw 2.0 ile yazilmisti, bu Fw 1.1 de (her yontemi deniyorum : )

AjaxNetTest.rar (198,78 KB)
Tuesday, March 14, 2006 5:05:20 PM (GTB Standard Time, UTC+02:00)  #    Comments [0]  | 
Saturday, March 11, 2006

Beni taniyanlar bilir, Visual Basic severim bence kodlama zamanini cok da guzel kisaltiyor, her ne kadar uzun zaman C, C++, Perl, PHP hatta Java bile yazmis olsamda VB nin developerlarin hayatini kolaylastiran ozellikleri bence cok fazla (VS 2005 de C# da fena degil ama :)

Ancak VS kullanirken, bazi VB 6 fonksiyonlarini kullaniyoruz ister istemez, sanmiyorum ki MsgBox yazan kalsin ama, Ctype ozellikle cok kullandigimiz bir fonksiyon... ama .Net de yok maalesef, bunun icin .Net le gelen Convert Classinin shared metotlarini kullanabilirsiniz, ancak Convert Class ida Primitive tipler icin isimize yariyor (integer, Byte, Boolean, String gibi) ya sizin ihtiyaciniz DataTable a Cast etmekse, iste o zaman DirectCast metodunu kullanmaniz gerekiyor, zira DirectCast direk .Net Framework ile birlikte gelen bir fonksiyon...

Daha fazla bilgi icin bknz. :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vbtchmicrosoftvisualbasicnetinternals.asp

Saturday, March 11, 2006 6:17:24 PM (GTB Standard Time, UTC+02:00)  #    Comments [0]  | 

Askerden geldikten sonra haliyle Visual Studio 2005 kullanmaya basladim (Betasi ile yaptigim projeleri soylemiyorum tabii ;), Asp.Net de bir iki bir sey deniyorum, ancak Solution yaratilmiyor, birak Solution i Proje bile yaratilmiyor (: Haliyle, mesela bir Web Serivisi yada bir Class Library ekleyemiyorsunuz bu yarattiginiz Asp.Net Web uygulamasina, bende dedim ki bu Solution yaratma olayi kesin bir yerde vardir ve buldum, bilmeyen arkadaslarda buyursun baligi yesin istedim...

Tools -> Options da, Soldan "Project And Solutions" i secin 4. Item kendisi...

Not : Sozde Whidbey in beta testeriydim, Beta 1 de Solution geliyordu, Beta 2 de Asp.Net projenizi sectiginizde assagida Checkboxla soruyordu "Solution i da yaratiyimmi abi ?" diye, biraz karisik olmus boyle sanki... e Askerlik, bi cok seyi yeni kesfediyoruz, bilenler kusurumuza bakmasin (:

Saturday, March 11, 2006 12:18:10 AM (GTB Standard Time, UTC+02:00)  #    Comments [1]  | 
Friday, March 10, 2006

Microsoft un yine Ajax ile yaptigi bir site olan, Windows Live Local ( http://local.live.com/ ) e bir goz atayim demistim, hali ile ilk once Turkiye, sonrada Istanbul a baktim, ancak one ? Kadikoy yazisi, arastirdim Silivri yakinlarinda Kadikoy varmi falan diye bulamadim...

Daha Beta, olur boyle seyler (:

 

Friday, March 10, 2006 8:37:20 PM (GTB Standard Time, UTC+02:00)  #    Comments [3]  | 
Thursday, March 09, 2006

Dün yüklediğim Ajax ın biraz daha gelişmişini bitirdim az önce, yeni hali ile onuda sizin beğeninize sunuyorum..(:

http://www.cenkcaglar.com/AjaxTest/User.aspx

Burada yapılan iş, kullanıcı adı ve şifre bilgilerini alıp, bu kullanıcıya bir guid atayarak ve kaydolduğu tarihide hesaba katarak Sunucuda bulunan XML dosyamıza kaydetmek... Aynı zamanda bilgileri güncelleyip, silmesinide sağlamak.

Böylece bu Ajax örneğinde kullanabileceğiniz bütün yapıları görüyorsunuz...

Ajax la ilgili izlenimlerim ise; Ajax gerçekten kolay bir yapı, zorluk namına hiç birşeyi yok. Ancak zor olan JavaScript, ben çok uzun zamanlar JavaScriptle uğraşmış birisi olarak bu kadar sıkıntı çekeceğimi düşünmezdim JavaScript te...

Özellikle sunucudan gelen XML dosyaları ile ilgili işlemler yapmak oldukça vakit aldı, şu aşağıdaki koda bir göz atın,

var root = response.responseXML.documentElement;
var userNameElement = root.getElementsByTagName("user");

var ItemAll = document.createElement("div");

for(var i=0; i < userNameElement.length; i++){
   var ItemDiv = document.createElement("div");
   ItemDiv.setAttribute("id","ItemDiv");
   var ItemCb = document.createElement("input");
   ItemCb.setAttribute("type","checkbox");
   ItemCb.setAttribute("name","SelItem");
   ItemCb.setAttribute("value",root.getElementsByTagName("UserId")[i].firstChild.data);
   ItemDiv.appendChild(ItemCb);
   var ItemList = document.createElement("span");

   ItemList.appendChild(document.createTextNode(root.getElementsByTagName("UserName")[i].firstChild.data + " | " + root.getElementsByTagName("UserPass")[i].firstChild.data + " | " + root.getElementsByTagName("UserAddedTime")[i].firstChild.data + " | " ));
   var LinkItemDel = document.createElement("a");
   LinkItemDel.setAttribute("href","#");
   LinkItemDel.appendChild(document.createTextNode("Sil"));
   LinkItemDel.onclick = Function("ItemDelete('" + root.getElementsByTagName("UserId")[i].firstChild.data + "','" + root.getElementsByTagName("UserName")[i].firstChild.data + "');");
   ItemList.onclick = Function("ItemChange('" + root.getElementsByTagName("UserId")[i].firstChild.data + "','" + root.getElementsByTagName("UserName")[i].firstChild.data + "','" + root.getElementsByTagName("UserPass")[i].firstChild.data + "');");

   ItemDiv.appendChild(ItemList);
   ItemDiv.appendChild(LinkItemDel);
   ItemAll.appendChild(ItemDiv);
}
document.getElementById("UserList").appendChild(ItemAll);

 

Ne yapılıyor burada değilmi ? Burada yapılan aşağıda listelenen bilgilerin Div lerin içine mantıklı bir şekilde yerleştirilmesi, sonra yerleştirilen bu Div lerin OnClick olayında bazı işlemler yapılması için başka bir fonksiyonun çağırılması...

Artı bu örnekte biraz daha güzel bir yükleniyor ekranı denedim...(:

Kodu indirebilir, sorunuz varsa soldaki mailden, sorularınızı sorabilirsiniz...

Not : Ajax Yeter bu kadar, şimdi sırada Atlas var... bakalım o nasıl bişi (: Beni izlemeye devam edin..(:

AjaxTestYeni.rar (13,9 KB)
Thursday, March 09, 2006 9:19:21 PM (GTB Standard Time, UTC+02:00)  #    Comments [3]  | 
Wednesday, March 08, 2006

Merhaba Arkadaşlar

Az önce bir AJAX örneği upload ettim, AJAX a başlamak isteyen arkadaşlar için uygun bir örnek bence.

http://www.cenkcaglar.com/AjaxTest

Ne yaptığımı biraz açayım istiyorum, öncelikle işlerimi kolaylaştırmak için bir bir bölüm yazdım, Internette POST etmek ile ilgili örnek çok fazla bulamadım bundan dolayı bu örnekte işinize yarayabilir.. bu yazdığım bölüm aşağıda

Not : Tamam tamam hepsini ben yazmadım ama baya düzenledim...(:

        var Request = new Object();

       

        Request.send = function(url, method, callback, data, urlencoded) {

            var req;   

            if (window.XMLHttpRequest) {

                  req = new XMLHttpRequest();

            } else if (window.ActiveXObject) {

                  req = new ActiveXObject("Microsoft.XMLHTTP");

            }

            req.onreadystatechange = function() {

                  if (req.readyState == 4) {

                        if (req.status < 400) {

                              (method=="POST") ? callback(req) : callback(req,data);

                        } else {

                              alert("There was a problem loading data :\n" + req.status+ "/" + req.statusText);

                        }

                  }

            }

            if (method=="POST") {

                  req.open("POST", url, true);

                  if (urlencoded) req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

                  req.send(data);

            } else {         

                  req.open("GET", url, true);

                  req.send(null);

            }

           

            return req;

        }

 

        Request.sendRawPOST = function(url, data, callback) {

            Request.send(url, "POST", callback, data, false);

        }

        Request.sendPOST = function(url, data, callback) {

            Request.send(url, "POST", callback, data, true);

        }

        Request.sendGET = function(url, args, callback) {

            return Request.send(url, "GET", callback, args);

        }

Böylece işlemlerimi yapmak için sendPOST, sendGET adında metotlarım oluşuyor, bu bölüm ile kullanıcının TextBox a girdiği değeri sunucumdaki Action.aspx e yollayıp işlemlerimi yapıyorum. Yapılan işlemler ise girdiğiniz değeri Cookie ye yazıp, yazılmış olan Cookideki değeri okumak. AJAX kullanmak ve datayı POST ve GET etmek adına güzel bir örnek. Diğer JavaScript leri ve yapılan işleri görmek için kodu Download edebilirsiniz.

AjaxTest.rar (5,57 KB)
Wednesday, March 08, 2006 3:00:11 PM (GTB Standard Time, UTC+02:00)  #    Comments [0]  | 
Thursday, March 02, 2006

Tam bir AJAX harikasi, Atlas ile yapildigi iddia ediliyor, www.start.com AJAX ile ilgilenen kisiler icin bence guzel bir referans sitesi...

Thursday, March 02, 2006 10:48:38 AM (GTB Standard Time, UTC+02:00)  #    Comments [0]  | 

© Copyright 2006, Levent Cenk ÇAĞLAR

eXTReMe Tracker