Category Archives: ASP.Net

Web uygulamalarında Mobile Cihaz Kontrolü

Geçtiğimiz günlerde jQuery ve Mobil Web Uygulamaları internet seminerinde, mobile web uygulamalarını nasıl geliştirebileceğimizi incelemeye çalışmıştık. Yapılan bu çalışmadan sonrasında Yazgelistir forumunda  Mobil telefon tespit ve yönlendirmebaşlığı altında, konu ile ilgili bir soru sorulmuştu. Bu yazımda söz konusu problemi nasıl çözebileceğimiz inceleyeceğiz.

Problem çözüm için yeni bir solution oluşturalım. Oluşturmuş olduğumuz solution ‘na ASP.Net WebForm(uygulamanın kolay anlaşılması açısından ASP.Net WebForm kullanacağız.) ve Class Library projeleri oluşturalım. Class Library projesi içerisine IsMobileWeb isimli bir sınıf ekleyelim. Eklemiş olduğumuz sınıfı, Web uygulamasından istem yapan cihazın Mobile olup/olmadığını kontrol edecektir.

 namespace IsMobileDevices.MobileWebLib
{
using System.Web;
    public class IsMobileWeb
{
public static bool IsMobileBrowser()
{
///Geçerli HttpContext nesnesini aldık.
HttpContext context = HttpContext.Current;///HttpContext nesnesi üzerinde bulunan fonksiyon kullanımı
///Bazen çalışmıyor.
if (context.Request.Browser.IsMobileDevice)
{
return true;
}

///Uygulamadan isteme yapaman cihazın HTTP_X_WAP_PROFILE
///Header bilgisini kontrolü yapılıyor.
if (context.Request.ServerVariables[“HTTP_X_WAP_PROFILE”] != null)
{
return true;
}

///Web isteminde HTTP_ACCEPT header var olup/olmadığı
///kontrol ediliyor.
///Eğer söz konusu header var ise wap olup/olmadığını
///kontrol ediyor.
if (context.Request.ServerVariables[“HTTP_ACCEPT”] != null &&
context.Request.ServerVariables[“HTTP_ACCEPT”]
.ToLower().Contains(“wap”))
{
return true;
}

///Son olarak HTTP_USER_AGENT header bilgisi kontrol ediliyor.
if (context.Request.ServerVariables[“HTTP_USER_AGENT”] != null)
{
///Piyasada bulunan bilinen ve kullanıcıların tükettiği
///tüm mobile cihazlar, dizi oluşturuyoruz.
string[] mobiles = new[]
{
“midp”, “j2me”, “avant”, “docomo”,
“novarra”, “palmos”, “palmsource”,
“240×320”, “opwv”, “chtml”,
“pda”, “windows ce”, “mmp/”,
“blackberry”, “mib/”, “symbian”,
“wireless”, “nokia”, “hand”, “mobi”,
“phone”, “cdm”, “up.b”, “audio”,
“SIE-“, “SEC-“, “samsung”, “HTC”,
“mot-“, “mitsu”, “sagem”, “sony”
, “alcatel”, “lg”, “eric”, “vx”,
“NEC”, “philips”, “mmm”, “xx”,
“panasonic”, “sharp”, “wap”, “sch”,
“rover”, “pocket”, “benq”, “java”,
“pt”, “pg”, “vox”, “amoi”,
“bird”, “compal”, “kg”, “voda”,
“sany”, “kdd”, “dbt”, “sendo”,
“sgh”, “gradi”, “jb”, “dddi”,
“moto”, “iphone”
};

foreach (string s in mobiles)
{
///Hazırladığımız dizi kullanarak HTTP_USER_AGENT
///header içerisinde bizim olabileceğini
///düşündüümüz mobile cihazları
///kontrol ediliyor.
if (context.Request.ServerVariables[“HTTP_USER_AGENT”]
.ToLower().Contains(s.ToLower()))
{
return true;
}
}
}

///Eğer bu noktaya kadar true dönemdi ise, Web istemi
///Mobile cihaz dışında istem yapılmıştır.
return false;
}
}
}

Web uygulamamıza mobile istemleri denetleyecek olan sınıfı oluşturduk. Hazırlamış olduğumuzu sınıfı, uygulama içerisine dahil ederek uygulamamız denetleyelim. Söz konusu denetim işlemini Web uygulamamızın “Session_Start”  olayında gerçekleştireceğiz.

global-mobile-web

Not: Söz konusu durumda ASP.Net MVC uygulamasında da kullanabilmektedir. Web uygulamaların “Session_Start”  olayı uygulamaya yapılan istemin başlangıcında kullanıcının uygulama oturum nesnesini oluşması aşamasıdır. Aynı şekilde ASP.Net MVC üzerinde de kullanıldığında routing değişiminde istediğiniz Web alanına yönlendirebilirsiniz.

Hazırlamış olduğumuzu uygulama örneği ve bundan sonra yayınlayacağım yazılarımda kullanacağım örnek uygulamaları sizlerin daha kolay ulaşmanız adına bitbucket üzerinde bir repository oluşturdum.

Bu yazımda ASP.Net ile geliştirdiğimiz uygulamalarda yapılan mobile istemleri nasıl anlayabileceğimiz incelemeye çalıştık. Konu ile ilgili sorularınızı info@ibrahimatay.org eposta adresine gönderebilirsiniz.

IBRAHIM ATAY

Teşekkürler

Kaynak

http://www.codeproject.com

jQuery ile ASP.NET Uygulamaları Geliştirme Internet Semineri Notları

Geçtiğimiz günlerde gerçekleştirmiş olduğum jQuery ile ASP.NET Uygulamaları Geliştirme internet seminerinde ASP.Net uygulamalarında JQuery kullanımı ve kolaylıklarından bahsetmeye çalışmıştım. Bu yazımla internet seminerinde kullananmış olduğum sunumu sizler ile paylaşmaktayım.

JQuery, Web tabanlı uygulamamalarında JavaScript kod yazımını en makul hale getiren bir araçtır. Eğer Web uygulaması geliştiriyor ya da bu konuda kendinizi geliştirmek istiyorsanız, eğitim listenize JQuery de koymayı unutmayın.

IBRAHIM ATAY

Teşekkürler

jQuery ile ASP.NET Uygulamaları Geliştirme Internet Semineri

Web uygulaması geliştiren kişilerin, bazı temel dilleri(Html, CSS ve JavaScript) bilmesi gerekmektedir. Bilinmesi gereken dillerden biri de JavaScript’ dir. JavaScript ile örneklerini birçok yerde gördüğümüz, kullanıcı etkileşimli Web uygulamaları hazırlanabilmektedir.

JQuery_logo_color_onwhite

Yapmaya çalıştığımız bu gibi çalışmalarda JavaScirpt kod yığınları ile uğraşmaktayız. Bu geliştirmeleri yaparken, tarayıcı uyumluğunda unutmamamız gereken noktaların başında gelmektedir. İşte bu gibi durumlarda, işlerimizi kolaylaştıran JavaScript kütüphaneleri imdadımıza koşmaktadır. Uygulamalarımızda kullandığımız en popüler JavaScirpt kütüphanesi ise JQuery’ dir.

 JQuery açık kaynak olarak devam etmekte olan bir projedir. JQuery ‘ yi bağlantıdaki adresten edinebilirsiniz.

internet seminerinde JQuery ve ASP.Net WeForm, MVC uygulamalarımızda nasıl kullanabileceğimiz konusunda bilgiler vermeye çalışacağız.

Temel Seminer içeriği

  • Neden JQuery ve benzeri kütüphaneler kullanmalıyız.
  • JQuery Alternatifleri nelerdir?
  • Sizzle nedir?
  • Temel bilinmesi gereken başlıklar
  • Temel seçiciler
  • CSS işlemleri
  • Animasyon
  • AJAX(ASP.Net & ASP.Net MVC)
  • Uygulamalarımız zenginleştirecek JQuery eklentileri

jQuery ile ASP.NET Uygulamaları Geliştirme” Internet Semineri 8 mart salı saat 21.00 da başlayacaktır. Katılım ile ilgili bilgileri aşağıdaki bağlantıdan edinebilirsiniz.

Katılım bağlantısı / http://nedirtv.com/webiner/38

Not: İnternet seminerine katılmak için kullanacağınız Live Meeting aracı ile ilgili bilgileri bağlantıdaki görseli izleyerek çözebilirsiniz.

 

jQuery ve Mobil Web Uygulamaları Internet Semineri Notları

Geçtiğimiz tarihlerde gerçekleştirmiş olduğum jQuery ve Mobil Web Uygulamaları internet Seminerinde Mobile Web konusunu incelemeye çalıştık. Seminerinde ASP.Net MVC ve JQuery araçlarını kullanarak Mobile Web uygulamaları konusunda bilgiler vermeye çalıştık.

İçerisinde bulunduğumuz Mobile Çılgınlık diyebileceğimiz dönemde, Web geliştiricisi olarak Mobile Web uygulamaları geliştirebilmekteyiz. Mobile Web uygulamaları sayesinde, internet ortamında kullanan mobile cihazlar ile sunmak istediğimiz ürün ya da bilgileri her yerden erişebiliriz. (Dünya’ ya her yerden ulaş… )

 

EnableEventValidation=”true” sorunu

bugün 2 saat zaman kaybına  neden olan hatayı ve çözümünü sizinle paylaşmak istiyorum.

Invalid postback or callback argument.  Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.  For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them.  If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.

internete gördüğüm kadar ile kılasik asp uygulamalarında da bu hata bulunmaktaymış.

Çözüm:

<%@ Page EnableEventValidation="false" %>

Sayfanın page direktiflerine gelerek enableEventValidation özelliğini false yapmak. Bu tarihe kadar başka bir çözümünü bulamadım.

Herkese kolay gelsin.

IBRAHIM ATAY