Osman KURT

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

MVC'de Mobile Sayfa Ayırımı

Merhabalar,

Gelişen Asp.Net MVC'de bizler için bir güzellik daha var. Hepimiz web sayfaları geliştirirken yeni nesil responsive tasarımlar için var gücümüzle çalışıyoruz. Ancak bazı durumlarda bunu başarmak zorlaşabiliyor.

İşte bu gibi durumlarda Mobile için özel tasarımlar hazırlamak gerekiyor. Bunu yaparken de gelen kullanıcıya göre yönlendirme yapmak lazım.

Yönlendir kısmında işin en güzel tarafı ise şu; Home dizini altında ki Index.cshtml sayfası için mobil bir sayfa oluşturmamız gerekiyorsa bunu Index.Mobile.cshtml şeklinde oluşturduğumuzda işimizin tamamlanmış olması.

Sizce de güzel değil mi?

Osman KURT
Yazılım Uzmanı

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