Ajax Control Toolkit – Always Visible Control Extender
26.11.2006 00:00:00
Merhaba arkadaşlar bu makalemizde Ajax Always Visible Control Extender kontrolünün nasıl kullanıldığına göz atacağız.
Puan:
     

Açıklama

AlwaysVisibleControl içerik kaydırıldığında yâda yeniden boyutlandırıldığında sayfa background’u üzerinde float görünen sayfa kontrollerine izin veren basit bir kontroldür. İçeriği değiştirseniz bile sizin belirlemiş olduğunuz yerde kalır. Sayfa yüklenirken flash kontrolüne yakalanmamak için kontrolün pozisyonunu absolutely olarak belirlemeliyiz

Özellikler

·                    TargetControlID – Sürekli gösterilecek olan kontrolün ID’si

·                    HorizontalOffset - Browserin yatay kenarından pixel olarak uzaklığı. Varsayılan olarak 0’dır.

·                    HorizontalSide – Yatay olarak browser üzerindeki tarayıcının pozisyonunu belirler (Left, Center, yada  Right) Varsayılanı Left’dir.

·                    VerticalOffset - Browserin dikey kenarından pixel olarak uzaklığı. Varsayılan olarak 0’dır.

·                    VerticalSide - Dikey olarak browser üzerindeki tarayıcının pozisyonunu belirler (Top, Middle, yada Bottom) Varsayılanı Top’dır.

·                    ScrollEffectDuration - Kontrolün pozisyonunun değiştiğinde scroll efektinin süresinin uzunluğu. Varsayılan olarak 1 saniyedir.

Örnek Uygulama

Kontrolümüz ile ilgili bilgi edindikten sonra örnek bir uygulama yapabiliriz. Ofis içerisinde kullanılan bir İntranet uygulaması yaptığımızı var sayalım. Bu uygulama içerisinde kullanıcılar birbirlerini mesaj gönderebiliyorlar. Kullanıcı programını açtığı anda maili olup olmadığını görmek isteyecektir. Yine aynı şekilde sayfa içerisinde dolaşırken mesajı olup olmadığını görmek isteyebilir. Burada Always Visible Control Extender kontrolünü kullanabiliriz. Kullanıcı sayfanın neresinde olursa olsun Always Visible Control Extender kontrolü ile mesajı olup olmadığını görebilir. Artık örneğimize geçebiliriz, yeni bir atlas projesi oluşturalım.

Projemizi oluşturduktan sonra Sayfamızın scroll barların çıkması için biraz uzun bir metin, 1 panel, 1 label 1update panel ve 1 de buton ekleyelim. Benim sayfa tasarımım aşağıdaki gibidir.

Kullanıcı sayfada gezinirken maili olup olmadığını kontrol edebilecek. Bunun için ilk olarak maili olup olmadığını kontrol edecek kodları yazalım.

    Private MailSayisi As Integer = 1 ’ bu değer normalde DB’den gelecek Ama bizim amacımız bu değil bu yüzdeb manuel olarak belirledik.

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        MailKontrolET()

    End Sub

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

        MailSayisi = MailSayisi – 1’ mail okunduğunda mail MailKontrolET fonksiyonu yeniden çalışıyor.

        MailKontrolET()

    End Sub

    Protected Sub MailKontrolET()’ burada mail olup olmadığı kontrol ediliyor.

        If MailSayisi > 0 Then

            Label1.Text = "Okunmamış Mesajınız Var"

        Else

            Label1.Text = "Hiç Mesajınız Yok"

        End If

    End Sub

Şimdi artık Always Visible Control Extender kontrolümüzü çalıştıracak kodalara geçelim.

       <cc1:AlwaysVisibleControlExtender ID="AlwaysVisibleControlExtender1" runat="server">

        <cc1:AlwaysVisibleControlProperties

        HorizontalOffset="0"

        HorizontalSide="right"

        ScrollEffectDuration="0.1"

        TargetControlID="Panel1"

        VerticalOffset="0"

         VerticalSide="Bottom" />

        </cc1:AlwaysVisibleControlExtender>

Always Visible Control Extender özelliklerinide yazdıktan sonra projemizi çalıştırabiliriz.

Evet, nesnemiz belirlediğimiz gibi sağ alt köşede yer alıyor.  Şimdi sayfamızı aşağıya doğru kaydıralım.

Gördüğünüz gibi nesnemizde bizimle birlikte gelir. Şimdi okunmamış olan maili okuyalım ve atlasın başka bir nimeti olan UpdatePanel’den yararlanalım.

Evet, sayfamız yenilenmeden mesajımızı okuduk. Yeni mesajımız var mı yok mu kontrol edebiliyoruz. Normal de bir timer nesnesi ile mailimiz olup olmadığını belirli sürelerle kontrol ettirebilirdik. Ama şuan için bizim esas konumuz bu olmadığı için sadece manuel olarak işlem yaptırdık.

Bu makalenin de sonuna geldik, başka bir makalede görüşmek üzere başarı ve iyi günler dilerim.

Sem GÖKSU
MCP | MCAD.NET

Örnek Kodlar için mail adresimi kullanabilirsiniz

askisem@hotmail.com

Kaynaklar
http://atlas.asp.net

 
Puan: