Makale Özeti

Merhaba arkadaşlar, bu makalemizde wap sitesi yapmak için kullandığımız kontrolleri inceliyor olacağız…

Makale

WAP’ da Hangi Kontrolleri Kullanırız?

Makalemizin ilk bölümünde de söylediğim gibi WAP’ da kullanabileceğimiz kontrol sayısı sınırlı sayıdadır. Gridview, DataList ve diğer Listeleme kontrolleri bulunmuyor. (Bunların yerine ObjectList   ve List Kontrolü Geldi).

Kontrolleri incelemeye başladığımız da karşımıza tanıdık kontroller çıkacak.

Form: Her Wap sayfasında en az bir Mobile Form olmalıdır. Web sayfalarında olduğu gibi bir sayfada birden fazla da Mobile Form da olabilir.

Label: WAP Sayfalarında metinleri göstermek için kullanılır. Yine web’ deki label ile aynı işi yapar ve aynı özelliklere sahiptir. (Font, Text, vb gibi…).

Not: Wapda Label,Tek satırlık veri gösterilmesine izin verir.

Textbox: Kullanıcıların WAP Sayfalarında tek satırlık veri girişini yapmasını sağlayan kontroldür. Web’ dekinden farkı sadece tek satır olmasıdır.  Diğer özellikleri web ile aynıdır. (Alignment, Font, Text, MaxLenght gibi…)

Panel: WAP Sayfalarında diğer kontrollerin içerisini eklenmesini sağlayan kontroldür. Diğer kontroller de olduğu gibi web deki ile tüm özellikleri aynıdır.

Image: Mobil sayfalar da resimlerin gösterilmesini sağlar.

AdRotator: WAP Sayfalarında resimlerin rastgele gösterilmesini sağlayan reklam kontrolüdür.

Calendar: WAP Sayfalarında kullanabileceğimiz takvim kontrolüdür.

Validation Controlleri: Kullanıcıların Textboxlara girdiği verileri doğrulamak için kullanılan kontrollerdir.

Webdekilerle aynı olan kontroller bunlar ama Mobile özel kontroller de var. Şimdi bunları da inceleyelim.

Command: Aslında Webdeki buton ile aynı işi yapar. Microsoft böyle bir isimlendirmeye gitmiştir. İlgili işlemin post edilmesini sağlar. Bazı özellikleri şöyledir;

CommandName:ItemCommand eventi ile ilişkili bir commanddir.

CommandArgument: Command hakkında ek bilgi tutulmasını sağlar.

Format: Command’in formatını belirler. Buton yada Link gibi görünmesini sağlar.

TextView: Label ile aynı işi yapar yanı metinlerin gösterilmesini sağlar. Label’dan farkı birden fazla satır içerebilir.  İçerisine yazılabilen metin içerisinde diğer html kodların yazılmasına izin verir.

Bunun dışında tüm özellikleri Mobile Label ile aynıdır.

List: WAP sayfaların da liste oluşturmak için kullanılır. DataSource , DataTextField ve DataValue özelliği vardır. Bu sayede database’den doldurulabilir.

ItemsAsLinks : Bu özellikle liste içerisindeki verileri link olarak da gösterebiliriz.   

Webdeki listbox’a benzer. Tüm eventleri Listboxdaki ile aynıdır.

SelectionList: WAP sayfalarında seçim yapılabilecek Liste kontrolü oluşturmamızı sağlar. List’den farkı Dropdown gibi çalışır. Tek bir eleman seçmemizi sağlar.

SelectType: Bu özellik SelectionList’in nasıl gösterileceğini belirler.

DropDown

ListBox

Radio

MultiSelectListBox

CheckBox

ObjectList: Wap sayfalarında verilerin gösterilmesini sağlar. Gridview ve Datalist gibidir.

StyleSheet: Wap sayfalarında kullanılan kontrollere sitil uygulanmasını sağlayan sitilleri belirler. HTML destekleyen telefonlar da görüntülenir.

DeviceSpecific: Cep telefonunun desteklediği markup diline(WML, HTML, XHTML, CHTML) göre ilgili kodun render edilmesini sağlar. Örneğin Sony Ericcsonnda t600 de bir sayfa WML olarak render edilirken Nokia n70 de XHTML olarak render edilir.

PhoneCall: Belirtilen telefon numarasının aranmasını sağlayan WAP kontrolüdür. En önemli propertysi; PhoneNumber’dır.

PhoneNumber: Aranacak olan telefon numarası.

Örnek -1

İlk olarak basit bir örnek yapalım J Yazgelistir.com’daki RSS’lerden haberleri çekip bunu sayfamızda gösterelim. Burada asıl değinmek istediğim Textview Kontrolüdür. Yukarıda da belirttiğim gibi textview kontrolünün text özelliğinde html kontrolünü kullanabiliyorduk. Şimdi formumuza bir textview ekleyelim. Daha sonra da formun loadında RSS’ den haberleri datasete çekip güzel bir görünüm ile sayfamızda gösterelim.

protected void Page_Load(object sender, EventArgs e)

       {

               DataSet Ds = new DataSet();

               Ds.ReadXml("http://rss.yazgelistir.com/XML/Rss.aspx/1000000000"); // XML’deki verileri datasete alıyoruz…

  

               string content = "";

               content = "<b>ASP.NET Makaleleri</b><br/><br/>"; // İlk satırda Bu yazacak

               for (int i = 0; i < Ds.Tables[3].Rows.Count; i++)

               {

                       content +="<b>" + Ds.Tables[3].Rows[i]["title"] + "</b><br/>"; // Makalenin başlığını yazdırıyoruz…

                       content += Ds.Tables[3].Rows[i]["description"] + "<br/>"; // Makalenin özetini yazdırıyoruz…

               }

               TextView1.Text = content; // Oluşan içeriği textview’in text özelliğine set ediyoruz…

        }

Not: İlk makale de verdiğim emulatoru kullanacaksanız dosyaları Emulatorun ulaşabileceği bir adreste tutmanız gerekmektedir.

Şimdi yazdığımız kodu test edelim. Bunun için ilk makale de verdiğimiz emulatoru kullanabiliriz. (İsterseniz telefonunuzda da test edebilirsiniz)

Hayırlı Olsun J

Örnek - 2

Bu Örneğimiz de Wap kontrollerinden Object List’i inceleyeceğiz. Zaten neredeyse en çok kullanılacak kontrollerden biri budur.

Yeni bir proje açalım ve projemize yeni bir mobile form ekleyelim. Mobile form içerisine de bir ObjectList ekleyelim. ObjectList içerisinde Kategoriler tablosundan Kategori adlarını görüntülenmesini sağlayacağız. Oluşturduğum sayfa şu şekildedir.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ObjectList.aspx.cs" Inherits="ObjectList" %>

<%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %>

  

<html xmlns="http://www.w3.org/1999/xhtml" >

<body>

       <mobile:Form id="Form1" runat="server">

               <mobile:ObjectList ID="ObjectList1" Runat="server" CommandStyle-StyleReference="subcommand"

                       LabelStyle-StyleReference="title">

                       <Field Title="Kategoriler" DataField="CategoryName" />

               </mobile:ObjectList>

     <mobile:Label ID="Label1" Runat="server">

               </mobile:Label>

       </mobile:Form>

</body>

</html>

  

Şimdi mobile formumuz yüklenirken verilerin gelmesini sağlayacağız…

       protected void Page_Load(object sender, EventArgs e)

       {

               try

               {

                       SqlConnection Conn = new SqlConnection("Server=localhost; database=Urbanlulu; trusted_connection=yes");

                       SqlDataAdapter Da = new SqlDataAdapter("Select * from Categories",Conn);

                       DataSet Ds = new DataSet();

                       Da.Fill(Ds, "tbl");

                   ObjectList1.DataSource = Ds;

                       ObjectList1.DataBind();

                

               }

               catch (Exception)

               {

                   //  Response.Write("Bağlanamıyorum :(");

                   // Bu şekilde kullanamıyoruz

                   Label1.Text = "Bağlanamıyorum :(";

               }

        }

Şimdi yazdıklarımızı test edelim. Bunun için ilk makale de verdiğimiz emulatoru kullanabiliriz. (İsterseniz telefonunuzda da test edebilirsiniz)

Süper sonuç J

Evet arkadaşlar ilk makalemiz de WAP’ a hızlı bir giriş yapmıştık. Bu makalemizde de WAP kontrollerini inceledik. Bir sonra ki makalemiz de görüşmek üzere. İyi çalışmalar dilerim.

Sem Göksu
sem.goksu@yazilimgunlugu.com
www.semgoksu.com | www.yazilimgunlugu.com

Kaynaklar

http://www.w3schools.com

http://www.msdn.com