31 Oca 2008 WAP’ da Kullanılan Kontroller Kategori: Mobil Etiketler: Windows Phone 0 Yorum Merhaba arkadaşlar, bu makalemizde wap sitesi yapmak için kullandığımız kontrolleri inceliyor olacağız… WAP' da Hangi Kontrolleri Kullanırız? Makalemizin ilk bölümünde de söyledigim gibi WAP' da kullanabilecegimiz kontrol sayısı sınırlı sayıdadır. Gridview, DataList ve diger Listeleme kontrolleri bulunmuyor. (Bunların yerine ObjectList ve List Kontrolü Geldi). Kontrolleri incelemeye basladıgımız da karsımıza tanıdık kontroller çıkacak. Form: Her Wap sayfasında en az bir Mobile Form olmalıdır. Web sayfalarında oldugu 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ı isi 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 girisini yapmasını saglayan kontroldür. Web' dekinden farkı sadece tek satır olmasıdır. Diger özellikleri web ile aynıdır. (Alignment, Font, Text, MaxLenght gibi.) Panel: WAP Sayfalarında diger kontrollerin içerisini eklenmesini saglayan kontroldür. Diger kontroller de oldugu gibi web deki ile tüm özellikleri aynıdır. Image: Mobil sayfalar da resimlerin gösterilmesini saglar. AdRotator: WAP Sayfalarında resimlerin rastgele gösterilmesini saglayan reklam kontrolüdür. Calendar: WAP Sayfalarında kullanabilecegimiz takvim kontrolüdür. Validation Controlleri: Kullanıcıların Textboxlara girdigi verileri dogrulamak için kullanılan kontrollerdir. Webdekilerle aynı olan kontroller bunlar ama Mobile özel kontroller de var. Simdi bunları da inceleyelim. Command: Aslında Webdeki buton ile aynı isi yapar. Microsoft böyle bir isimlendirmeye gitmistir. Ilgili islemin post edilmesini saglar. Bazı özellikleri söyledir; CommandName:ItemCommand eventi ile iliskili bir commanddir. CommandArgument: Command hakkında ek bilgi tutulmasını saglar. Format: Command'in formatını belirler. Buton yada Link gibi görünmesini saglar. TextView: Label ile aynı isi yapar yanı metinlerin gösterilmesini saglar. Label'dan farkı birden fazla satır içerebilir. Içerisine yazılabilen metin içerisinde diger html kodların yazılmasına izin verir. Bunun dısında tüm özellikleri Mobile Label ile aynıdır. List: WAP sayfaların da liste olusturmak için kullanılır. DataSource , DataTextField ve DataValue özelligi 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ü olusturmamızı saglar. List'den farkı Dropdown gibi çalısır. Tek bir eleman seçmemizi saglar. SelectType: Bu özellik SelectionList'in nasıl gösterilecegini belirler. DropDown ListBox Radio MultiSelectListBox CheckBox ObjectList: Wap sayfalarında verilerin gösterilmesini saglar. Gridview ve Datalist gibidir. StyleSheet: Wap sayfalarında kullanılan kontrollere sitil uygulanmasını saglayan sitilleri belirler. HTML destekleyen telefonlar da görüntülenir. DeviceSpecific: Cep telefonunun destekledigi markup diline(WML, HTML, XHTML, CHTML) göre ilgili kodun render edilmesini saglar. Örnegin 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ı saglayan WAP kontrolüdür. En önemli propertysi; PhoneNumber'dır. PhoneNumber: Aranacak olan telefon numarası. Örnek -1 Ilk olarak basit bir örnek yapalım J Yazgelistir.com'daki RSS'lerden haberleri çekip bunu sayfamızda gösterelim. Burada asıl deginmek istedigim Textview Kontrolüdür. Yukarıda da belirttigim gibi textview kontrolünün text özelliginde html kontrolünü kullanabiliyorduk. Simdi 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/>"; // Ilk 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 baslıgını yazdırıyoruz. content += Ds.Tables[3].Rows[i]["description"] + "<br/>"; // Makalenin özetini yazdırıyoruz. } TextView1.Text = content; // Olusan içerigi textview'in text özelligine set ediyoruz. } Not: Ilk makale de verdigim emulatoru kullanacaksanız dosyaları Emulatorun ulasabilecegi bir adreste tutmanız gerekmektedir. Simdi yazdıgımız kodu test edelim. Bunun için ilk makale de verdigimiz emulatoru kullanabiliriz. (Isterseniz telefonunuzda da test edebilirsiniz) Hayırlı Olsun J Örnek - 2 Bu Örnegimiz de Wap kontrollerinden Object List'i inceleyecegiz. 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 saglayacagız. Olusturdugum sayfa su sekildedir. <%@ 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> Simdi mobile formumuz yüklenirken verilerin gelmesini saglayacagı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("Baglanamıyorum :("); // Bu sekilde kullanamıyoruz Label1.Text = "Baglanamıyorum :("; } } Simdi yazdıklarımızı test edelim. Bunun için ilk makale de verdigimiz emulatoru kullanabiliriz. (Isterseniz telefonunuzda da test edebilirsiniz) Süper sonuç J Evet arkadaslar ilk makalemiz de WAP' a hızlı bir giris yapmıstık. Bu makalemizde de WAP kontrollerini inceledik. Bir sonra ki makalemiz de görüsmek üzere. Iyi çalısmalar dilerim. Sem Göksusem.goksu@yazilimgunlugu.com www.semgoksu.com | www.yazilimgunlugu.com Kaynaklar http://www.w3schools.com http://www.msdn.com Yorum (0) Bu yazıya henüz yorum yapılmamış... Yorum Yaz * Ad Soyad: * Email: * Message: