yazgelistir.com
  Ana Sayfa   Forumlar   Blog  Hakkımızda
  
Loading... Yükleniyor. Lütfen bekleyin ...
 Kategoriler
ASP.NET
ADO.NET
Visual Basic .NET
Visual C# .NET
Visual Studio ve Araçlar
Windows Server System
Office System
.NET Framework
SQL Server
XML Web Servisleri
Yazılım Güvenliği
Yazılım Mühendisliği
Mobil Teknolojileri
Dynamics
Smart Client
Expression Studio
Silverlight
Kod Parçaları
Açık Kaynak Kodlu Uygulamalar
İş Zekası
Windows Mobile Embedded

    0
Çıkış Yap
Üyelik Bilgilerimi Güncelle
Seminerlerim
Favorilerim
Ajanım

 Yazgeliştir
Yazar olmak ister misiniz?
Forumlar
Kitap Önerileri
Haberler
Röportajlar
Yazarlar
İpuçları
Görüşleriniz
Hakkımızda

  İstatistikler
En son kayıt olan üye:
acronice

Şuanki online üyeler ( 9 ) :
echoestr , inprise , abdagli , horpooon , okurbey , muslumguzel , ilkayucar , iguruz , demirnazim
 

DorukNet 
     Mobil Teknolojileri Kategorisi  » WAP – Mobil Aygıta Göre Sayfaların Render    

WAP – Mobil Aygıta Göre Sayfaların Render

Print Versiyonu


 
Yazar: Sem Göksu

Tarih:06.02.2008

Puan:3,67 (Oy Kullanan:3)

Okuma Sayısı:274

  Makaleyi İşaretle


Makale Özeti
Merhaba arkadaşlar, bu makalemizde WAP kontrollerinden device specific kontrolünden bahsedeceğiz. Bu kontrol bize telefon modeline göre sonucun WML, HTML, XHTML, CHTML olarak render edilmesini sağlıyor.


Makale

Daha önceki makalem de Wap kontrollerini anlatırken çok kısa da olsa bu kontrolün ne işe yaradığını anlatmıştım. Hatırlatmak gerekirse; Cep telefonlarının desteklediği markup diline göre kodumuzun render edilmesini sağlar. Örneğin html destekleyen bir telefonda sonuç html üretilir, WML destekleyen bir telefonda sonuç WML olarak üretilir. XHTML destekleyen telefonda da XHTML olarak üretilir.

Bu kontrolü niçin kullanırım?

Bir wap uygulaması geliştirdiğimizde her ziyaretçinin uygulamayı sorunsuz şekilde kullanabilmesi için bu kontrolü kullanırız. Kullanıcı arka planda telefonun ne desteklediğini bilemeyeceğinden yada bu uygulama bu telefon da çalışmaz diyemeyeceğimizden bu kontrol ile uygulamamızın tüm telefonlar da çalışmasını sağlarız.

Choice

Render edilecek Markup dili belirliyor. WML render edilecekse içerisine WML’e göre kod yazıyoruz. Html ise Html'e göre yazıyoruz.

ContentTemplate

Her yerde olduğu gibi burada da ContentTemplate çıkıyor karşımıza. Content Template içerisine Choice’de seçilen dile göre content template içerisindeki kod render edilecek.

DeviceSpecific Kullanımı

Uygulamanın WML ve HTML destekleyen telefonlar da çalışabilmesi için aşağıdaki gibidir;

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

    <mobile:DeviceSpecific ID="DeviceSpecificControl" Runat="server">

 

        <Choice Filter="isWML11">

            <ContentTemplate>

                <!— WML Render Edilecek -->

            </ContentTemplate>

        </Choice>

 

        <Choice Filter="isHTML32">

            <ContentTemplate>

                <!-- HTML Render edilecek -->

            </ContentTemplate>

        </Choice>

 

    </mobile:DeviceSpecific>

    </mobile:Panel>

 

Bu kodun çalışması için WebConfig dosyasına Tanımlı DeviceFilter’ları eklememiz gerekir. Genel olarak 2 DeviceFilter kullanılsa da farklı devicefitlerlar’da bulunmaktadır. Aşağıda bazı device filter’lar gösterilmiştir.

<deviceFilters>

<filter name="isWML11" compare="PreferredRenderingType" argument="wml11" />

<filter name="isHTML32" compare="PreferredRenderingType" argument="html32" />

<filter name="isCHTML10" compare="PreferredRenderingType" argument="chtml10" />

<filter name="isMyPalm" compare="Browser" argument="MyPalm" />

<filter name="isPocketIE" compare="Browser" argument="Pocket IE" />

<filter name="isJPhone" compare="Type" argument="J-Phone" />

<filter name="isEricssonR380" compare="Type" argument="Ericsson R380" />

<filter name="isNokia7110" compare="Type" argument="Nokia 7110" />

<filter name="supportsColor" compare="IsColor" argument="true" />

<filter name="supportsCookies" compare="Cookies" argument="true" />

<filter name="supportsJavaScript" compare="Javascript" argument="true" />

<filter name="supportsVoiceCalls" compare="CanInitiateVoiceCall" argument="true" />

</deviceFilters>

Farklı bir Filter(örneğin CHTML ve PocketIE) ile render yapılmasını istiyorsak; aşağıdaki gibi kullanırız.

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

    <mobile:DeviceSpecific ID="DeviceSpecificControl" Runat="server">

 

        <Choice Filter=" isCHTML10">