Osman KURT

Yazılım Uzmanı | MVC Eğitmeni

ASP.Net de Kullanıcıyı Mobile Sayfaya Yönlendirme

Gelişen teknoloji ve akıllı telefonlar sayesinde internet kullanımının büyük bir ölümünü mobile kullanımlar gerçekleştirmektedir. Böyle bir kullanıcı kitlesini kaybetmeyi hiçbir admin istemez. Öyleyse ne yapıcaz alt kısım da göstermiş olduğum gibi kodlarımızı web projemize entegre edicez ve kullanıcılara sunucaz.

Dikkat etmemiz gerek bir nokta bu olayın .Net 4.0 ile gelen bir özellik olduğu altsürümlerde çalışmıyacaktır.:( 

Şimdi lafı uzatmadan kodlarımızı yazmaya başlayalım isterseniz;

private static readonly Regex MobileRegex = new Regex(@"(nokia|sonyericsson|blackberry|IPHONE|samsung|sec-|windows ce|motorola|mot-|up.b|midp-)", RegexOptions.IgnoreCase | RegexOptions.Compiled);
     
    public bool IsMobile
    {
        get
        {
            HttpRequest r = HttpContext.Current.Request;
     
            if (r.Browser.IsMobileDevice)
                return true;
     
            if (!string.IsNullOrEmpty(r.UserAgent) && MobileRegex.IsMatch(r.UserAgent))
                return true;
     
            return false;
        }
    }
     
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsMobile)
            Response.RedirectPermanent("Mobile.aspx", true);
    }

Bu kodlarımızı yazdıktan sonra servere atalım ve test edelim.

Önerilerinizi Bekliyorum;

Görüşmek Üzere

Osman KURT

Yazılım geliştirici ve Grafiker

Yorumlar (4) -

  • hkaan

    30.1.2015 09:48:11 | Yanıtla

    peki bu kodla mobil siteye yönlendirme yaptım. Mobil sayfadan masaüstü sürümüne geçmeyi nasıl yapabiliriz. sürekli mobil sayfa açılıyor.

    • osman kurt

      31.1.2015 11:44:16 | Yanıtla

      Merhaba Hakan,

      if (IsMobile)
                  Response.RedirectPermanent("Mobile.aspx", true);
      else
                  Response.RedirectPermanent("AnaEkran.aspx", true);

  • Hakkı

    8.2.2017 09:11:14 | Yanıtla

    Osman Hocam kodunuzu siteme ekledim ancak Regex couldnt be found hatası alıyorum. Konu hakkında bilgi verme şansınız varmıdır? Teşekkürler

    • Osman KURT

      13.2.2017 14:30:56 | Yanıtla

      Merhaba Hakkı,
      Gerekli tanımlamaları yaptın mı, sanırım hata o yüzden kaynaklı.

Loading