08 December 2016

ASP.Net AJAX

AJAX aslında yeni bir teknoloji değildir. Açılımı “Asynchronous JavaScript and XML“dir. JavaScript ve XML arka planda asenkron bir şekilde çalışarak yeni uygulamalar oluşturmamıza imkan verirler. Sonuç olarak, web sayfasının hızı ve kullanılabilirliği artar. Örnek olarak Google Map ve Google Translate’i gösterebiliriz. Kullanıcılar bır yazıyı bir dilden başka bir dile tercüme etmek için yazmağa başladıkları zaman, Ajax hemen diğer dildeki analamı aynı sayfada gösterir.

AJAX sayesinde asenkron bir şekilde postback yapılmıyormuş gibi bilgiye ulaşılır. Böylece, daha hızlı sayfalar yapılabilir.

Bir asp.net örneği ile devam edelim:

Sayfaya bir adet ScriptManager, UpdatePanel ve ContentTemplate ekleyelim:

<asp:ScriptManager ID="ScriptManager1" runat="server">
 </asp:ScriptManager>
 <div>
 <asp:UpdatePanel ID="UpdatePanel1" runat="server">
 <ContentTemplate>
 <asp:Label ID="lblAjaxZaman" runat="server" Text="Label"></asp:Label>
 <asp:Timer ID="Timer1" runat="server" Interval="1000"></asp:Timer>
 </ContentTemplate>
 </asp:UpdatePanel>
 <asp:Label ID="lblZaman" runat="server" Text="Label"></asp:Label>
</div>

 

ScriptManager AJAX için bir yönetici görevi görür. Sayfanın en üstünde yer alması gerekir.
Update Panel 2 kısımdan oluşmaktadır: ContentTemplate ve Triggers
ContentTemplate, sayfa postback olmadan içindeki control veya controllerin değerinin güncellenmesi sağlıyor.
Triggers ContentTemplate’in ne zaman güncelleneceğini belirleyen tetikleyicilerdir.

Kod kısmına yazalım:

protected void Page_Load(object sender, EventArgs e)
 {
 lblZaman.Text = DateTime.Now.ToString();
 lblAjaxZaman.Text = DateTime.Now.ToString();
 }

Sayfayı çalıştırdığımızda AJAX Labelinde zamanın güncellendiğini görebiliriz. Sonra örnekte SQL server’dan veri çekerek AJAX tekniği kullanarak sayfa oluşturalım.