Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


Kendi WAP Sitemizi Nasıl Yaparız?

Yazar: Sem GÖKSU

Kategori: Mobil Teknolojiler

Eklenme Tarihi: 01.02.2008 15:23:12

Merhaba arkadaşlar, bu makalemizde kendi WAP sitemizi nasıl yapacağımıza bakacağız..

İlk 2 makalemiz de WAP' a giriş yapmış ve WAP' da kullanabileceğimiz kontrolleri incelemiştik. Bu makalemiz de ise tüm bu bilgileri toparlayıp kendi WAP sitemizi geliştiriyor olacağız. Bunun için gerekli olan Materyaller şu şekildedir J

Visual Studio,

MS Access (Siz isterseniz SQL Server yada MySQL de kullanabilirsiniz),

ASP.NET Destekli Bir Hosting.

Access de kullanacağımız tablolar aşağıdaki gibidir. Kategoriler ve Icerikler isimli 2 tablo oluşturuyorum.

İçerisini kendimize göre dolduralım J

Kategoriler

Hakkımda

Resimler

Haberler

Icerikler

Hakkımdaki bilgilere buradan ulaşabilirisiniz

Resimlerimi burada bulabilirsiniz

Benden haberleri buradan takip edebilirsiniz

Evet bilgilerimizi bu şekilde oluşturduk. Şimdi asıl konumuza dönelim ve wap sayfamızı oluşturalım.

Yeni Bir Web projesi oluşturalım ve projemize Default.aspx ve Icerik.aspx isimli 2 adet mobil form ekleyelim. Default.aspx de Kategorilerimiz listelenecek. Icerik.aspx de ise o kategoride yer alan haberler listelenecek.

Default.aspx

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

 

<%@ 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" Title="Sem GÖKSU - WAP">

        <mobile:Image ID="Image1" Runat="server" ImageUrl="csharp.gif" NavigateUrl="default.aspx">

        </mobile:Image>

        <br />

        <mobile:Panel ID="Panel1" Runat="server">

        </mobile:Panel>

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

        </mobile:Label>

        <mobile:Image ID="Image2" Runat="server" ImageUrl="google.gif" NavigateUrl="http://wap.google.com">

        </mobile:Image>

    </mobile:Form>

</body>

</html>

 

 

Default.aspx.cs

protected void Page_Load(object sender, EventArgs e)

    {

        try

        {

            OleDbConnection Conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("wapsite.mdb"));

            OleDbDataAdapter Da = new OleDbDataAdapter("Select * from Kategoriler", Conn);

            DataSet Ds = new DataSet();

            Da.Fill(Ds, "tbl");

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

            {

                Link myLink= new Link(); // myLink isimli yeni Bir Link Türetiyoruz.

                myLink.Text = Ds.Tables[0].Rows[i]["KategoriAdi"].ToString(); //Text Özelliğinde Kategori Adı Yazacak..

                myLink.NavigateUrl = "Icerik.aspx?KategoriID=" + Ds.Tables[0].Rows[i]["KategoriID"].ToString() + "&KategoriAdi=" + Ds.Tables[0].Rows[i]["KategoriAdi"].ToString(); // Gideceği sayfayı belirtiyoruz...

                Panel1.Controls.Add(myLink); // Oluşturduğumuz Linki panel içerisine ekliyoruz.

            }

        }

        catch (Exception)

        {

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

            // Bu şekilde kullanamıyoruz

            Label1.Text = "Sistem de hata meydana geldi, Lütfen daha sonra tekrar deneyiniz :(";

        }

    }

 

Ana sayfamızın son hali yukarıdaki gibidir. Şimdi içerikleri görüntüleyeceğimiz sayfaya geçelim.

Icerik.aspx

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

 

<%@ 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:Image ID="Image1" Runat="server" ImageUrl="csharp.gif" NavigateUrl="default.aspx">

        </mobile:Image>

        <br />

        <mobile:TextView ID="TextView1" Runat="server">

        </mobile:TextView>

        <mobile:Link ID="Link1" Runat="server" NavigateUrl="default.aspx">Ana Sayfa</mobile:Link>

        <br />

        <mobile:Image ID="Image2" Runat="server" ImageUrl="google.gif" NavigateUrl="http://wap.google.com">

        </mobile:Image>

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

        </mobile:Label>

    </mobile:Form>

</body>

</html>

 

Icerik.aspx.cs

  protected void Page_Load(object sender, EventArgs e)

    {

        if (Request.QueryString["KategoriID"] != null && Request.QueryString["KategoriAdi"] != null)

        {

            try

            {

                OleDbConnection Conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("wapsite.mdb"));

                OleDbDataAdapter Da = new OleDbDataAdapter("Select * from Icerikler where KategoriID = " + Request.QueryString["KategoriID"], Conn);

                DataSet Ds = new DataSet();

                Da.Fill(Ds, "tbl");

                string Content = "";

                Content ="<b>" +Request.QueryString["KategoriAdi"].ToString() + "</b><br/>";

                Form1.Title = Request.QueryString["KategoriAdi"].ToString();

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

                {

                    Content += Ds.Tables[0].Rows[i]["Icerik"].ToString();

                }

                TextView1.Text = Content;

            }

            catch (Exception)

            {

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

                // Bu şekilde kullanamıyoruz

                Label1.Text = "Sistem de hata meydana geldi, Lütfen daha sonra tekrar deneyiniz :(";

            }

        }

        else

        {

            RedirectToMobilePage("default.aspx"); // Mobile Formlarda yönlendirme bu şekilde oluyor.

        }

    }

 

İçerik sayfamızda şekildeki gibi, geriye kalan tek şey Emulatorden yada cep telefonumuzdan ilk wap sitemizi test etmek.

İşte Sonuç :)

Bu makalenin de sonuna geldik. Bir sonraki makale de görüşmek üzere. İyi çalışmalar dilerim

Makale ile ilgili dökümanı indirmek için tıklayınız

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

Kaynaklar

http://www.w3schools.com

http://www.msdn.com

Yazar Hakkında Yorum Yok Yorum Yaz Yazara ait diğer Makaleler
Tema
Anket
ASP.NET MVC'yi Projeleriniz de kullandınız mı?


En Çok Okunan Makaleler
En Son Eklenen Makaleler
Soru Merkezinde Bekleyenler
Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.