Asp .net events, asp.net events, events procedure, sayfa olayları, asp.net sayfa olayları, client-side, server-side, client-side nedir, server-side nedir, event procedure create, event procedure oluşturma, postbackurl

Sayfa Olayları Nedir ? , ASP.NET Events

Kullanıcı giriş bilgilerini dinamik olarak kullanmayı sağlar. Bir kullanıcı bir Web sayfasına istekte bulunduğu zaman, girdiği bilgiler Client-side olarak çalışır. Bir çok Web sayfasında olduğu gibi Submit Button’una basınca bir Event üreterek Server’a gönderir. Mesela, girilen kullanıcının bilgilerini SQL Server veritabanına göndermek , buna en uygun örneklerden biridir.

İki tip Event Procedure vardır. Client-side ve Server-Side. Her ikisinin de kendine göre avantaj ve dezavantajları vardır. 

Client-Side Nedir ?

Bir Client web sayfasını açmak için Server’a bağlanır. Bundan sonraki olaylar client üzerinde gelişir. Server’a geri bilgi gönderilemez. Client-Side event procedure, yalnızca HTML kontroller kullanabili.r Server kaynaklarını asla kullanamaz. Örneğin, SQL Server veritabanını açmak için Client-Side Script kullanamayız. <SCRIPT> tanımalaması aşağıdaki gibidir.

<script language=”JavaScript”> veya <script language=”VbScript”>

Server-Side Nedir ?

İşlemler sonucu bilgiyi Web Server’a gönderir. Hem Web, hem de HTML kontroller kullanılır. Kod’un derlenmesi ve çalışması Server üzerinde olur. Aşağıdaki gibi script tanımlaması yapılır.

<script language=”c#” runat=”server”>

Server-Side ; event procedure’in, kontrol event tiplerinin sayısı ile sınırlıdır. Örneğin Client-Side event procedure’lerde Mousekey Event ve Oncharge Event varken, Server-side event procedure Onclick event ‘ına destek verir. Ve OnChange event’ının özel bir versiyonunu destekler, Mousekey event’ını desteklemez.

Event Procedure Oluşturma

Visual Studio.NET içinde event procedure oluşturmayı iki adım ile gerçekleştiririz. İlk adım Web Form üzerine kontrol getirerek bunlara ait event oluşturup daha sonra CodeFile sayfaları ile bu kontrollerin event’larına ait kodları yazarız. Bu basitçe kontroller üzerine çift tıklanarak geçilen Code-Behind sayfasında yapılabilir. Örneğin;

<form id=”form1” method=”post” runat=”server”>
<asp:Button id=”Button1” runat=”server”/>
</form>

Tüm event’lar iki argüman içerir. Event’ın Sender’ı ve event için data bilgilerini tutan Class. Bu genellikle EventArgs tipi ile kullanılır. Ama bazı durumlarda özel şekilleri kullanılır.

Örneğin Image Button web kontrolü için ikinci argüman ImageClickEventArgs yazılır. Bu, kullanıcının tıkladığı koordinatları belirtir.

Eski olayların yanı sıra yeni eklenen event’larda mevcuttur.

Olay Açıklama
AbortTransaction Transaction olayında; işlemin iptal olduğu anda meydana gelecek kodların yazıldığı yerdir.
CommitTransaction Transaction olayında; işlemin tamamlandığı anda meydana gelecek kodların yazıldığı yerdir.
DataBinding Veri bağlama olayıdır.
Disposed Sayfanın hafızadan silindiği anda meydana gelen olaydır.
Error Sayfada hata oluştuğunda meydana gelen olaydır.
Init Sayfanın ön yüklemeye başlanması olayıdır.
InitComplete Tüm Child kontrollerinin yüklenmesi tamamlandığında meydana gelir. Sayfanın başlangıç yüklenmesi tamamlanmıştır. Bundan sonra içinde Load geçen olaylar devreye girer. Init’ler sırasında TrackView-State methodu çağrılır.
Load Sayfanın esas yüklenmesidir.
LoadComplete Sayfanın esas yüklenmeyi tamamlamasıdır.
PreInit İlk olaydır. Init olayından önce meydana gelir.
PreLoad Init olaylarından sonra sayfanın durum (state) bilgilerini yüklemeye başladığı olaydır.
PreRender Tüm Child kontrollerinin oluşmaya başlaması olayıdır.
PreRenderComplete Child kontrollerinin oluşumunu tamamlaması ve kişisel bilgilerin kontrol ve View State yapısının kaydedildiği olaydır.
SaveStateComplete Durum kaydetme yapısının tamamlandığı andır.
Unload Sayfanın hafızadan temizlenmesinden önceki son olaydır. Tüm Child kontroller sayfa üzerinden silinir.

 

 Asp .NET Uygulama 2

1)      Default.aspx ve hedef.aspx adlı 2 adet web sayfası oluşturuyoruz.

2)      Default.aspx üzerine bir TextBox ve bir Button bırakarak, Button1 ‘in Text kısmına Gönder  yazalım.

3)      Default.aspx üzerindeki Button1’in özelliklerinde bulunan PostBackUrl özelliğinin yanına “hedef.aspx” yazalım. Böylelikle Button1’e tıkladığımız zaman, bu sayfaya yönlenme yapacaktır.


4)      “hedef.aspx” dosyasının Page_Load event’ına aşağıdaki kodu yazacağız. Bu kod’da direkt olarak bu sayfayı çalıştırdığınızda bir işlem olmaması için bir kontrol koyduk. Eğer default.aspx sayfasından hedef.aspx sayfasına geçiş olursa o zaman TextBox1 değeri, buraya başına “Merhaba” konularak yazılacaktır.  

If (PreviousPage == null)
{

Response.Write(“Bu sayfayı direkt olarak çalıştıramazsınız”);
Response.End();
return;

}

TextBox t = (TextBox)
PreviousPage.FindControl(“TextBox1”);
Response.Write(“<b>Merhaba</b>”+ t.Text);

5)      İlk olarak “hedef.aspx” sayfasını çalıştırdığınızda karşınıza uyarı mesajınız gelecektir.

6)      Default.aspx dosyasını çalıştırarak TextBox1 içerisine bir metin girerek gönder button’una basalım.

7)      Gönder button’una bastığınızda diğer sayfada Merhaba Yazdığınız Metin şeklinde gözükmesi gerekmektedir.

Benzer Yazılar

  • Benzer Yazı Bulunamadı

Etiketler: , , , , , , , , , , , , , , , , , , , , , , , , ,

Facebook'ta Paylaş

Yorum Ekle