Asp.Net MVC - Arama Motoru Dostu linkler için Custom Link Senaryosu

By Burak TUNGUT - 26.1.2013 - 3 Yorum - Kategori Asp.Net MVC

Öncelikle herkese merhabalar :) Yaklaşık 2 aydır aşırı tempolu geçen bir dönem içerisindeydim. Neyse ki dersler, projeler derken sonun da hepsini atlattım. Tabi tatil dönemini yarılamış olmamda beni bir hayli üzüyor. Bazen sormuyor değilim kendime zaman ne çabuk geçti diye J

Neyse artık yavaş yavaş  bugünkü konumuza gelelim.

Uzun zamandan beri Asp.Net MVC hakkında bir yazı dizine başlamak istiyordum. Bu başlangıcı aslında geçtiğimiz haftalarda Asp.Net MVC Giriş adlı webiner ile yaptım. Bu günkü konumuz ise View tarafında Link işlemlerinin nasıl yapılacağı olacak.  Bunun yanında Helper sınıflar için extension metotlar yazarak kendimize özel (Custom) Link’ler yaratılmasını sağlayacağız.
Tüm bunları yaparken örneğin teoride kalmaması için biraz Routing ayarlaması ile de uğraşacağız tabi ki :)

Senaryomuzu Tanıyalım

Bugün yapacağımız örnekleri bir Haber sayfası senaryosu üzerinden yapacağız. Bunun için öncelikle her ne kadar var olmasa da News adında bir veri tabanı tablomuzun olduğunu düşünelim ve bu tabloyu bir entity class niteliğinde modelleyelim.

Model klasörümüz altında bir adet sınıf oluşturalım ve modelleme işlemimizi aşağıdaki kodlar yardımıyla gerçekleştirelim;

public class News
    {
        public int Id { get; set; }
        public string Title { get; set; }
        public string Content { get; set; }
    }

Deneme amaçlı olarak kullanacağımız ve elimiz ile birkaç haber kaydı ekleyeceğimiz için sade bir model oluşturamaya özen gösterdim.

Haber Depomuza Kayıtlarımızı Ekleyelim

Az önce bahsettiğim gibi az da olsa birkaç kayıt uygulamamızı çalışır hale getirmek için yeterli olacaktır. Bunun için News sınıfı içerisinde Repository adında bir property tanımlayalım. Bu property bizlere ekleyeceğimiz 10 adet haber kaydını sunsun. Bu durumda tipimiz bir collection olacaktır. Fakat her ulaştığımızda tekrar tekrar bu işlemi yapmaması için küçük bir encapsulation uygulamakta fayda var.

Dediklerimizi şöyle toparlayalım o zaman. Biri public diğeri private olan iki adet static property tanımlayalım ve haber kayıtlarını ilk çalışma anında yükleyecek bootstrap tadında bir metot yazalım.

O zaman News sınıfımızın içerisine aşağıdaki kod parçalarını da ekleyelim;

private static IList<News> _Repository = null;
        public static IList<News> Repository
        {
            get
            {
                if (_Repository == null)
                    _Repository = GetNews();
                return _Repository;
            }
        }

        private static IList<News> GetNews()
        {
            var result = new List<News>();
            for (int i = 1; i <= 10; i++)
            {
                result.Add(new News
                {
                    Id=i,
                    Title=string.Format("{0}. Haberin Başlığı",i),
                    Content = string.Format("{0}. Haberin İçerik Detayı")
                });
            }
            return result;
        }

Devamı

C# da Extension Method Kullanımı

By Burak TUNGUT - 21.11.2012 - Kategori C#

Bu makalem ile C# da Extension method kullanımını inceleyip, aynı işi yapan normal method ile arasındaki farki göreceğiz.

Bu methodlar sayesinde bize ait olmayan ya da erişim iznimiz olmayan .Net Classlarındaki tipler için dahi methodlar yazabiliriz.

C# 3.0 ile hayatımıza giren extension methodlar bize ait olmayan sınıflardaki tiplere bunlardan bağımsız olarak method yazmamızı sağlar. Örneğin string tipi için de kullandığımız "ToString" methodunu ele alalım, bu method hiç şüphesiz string tipinin yazıldığı class içinde tutulmaktadır. Ama biz ayrıca string tipi için bir extension method yazdığımız da ise kullanımı aynen bu şekilde olacaktır.

Öncelikle bir sınıf yaratıyoruz ve adını "Sinifim" yapıyoruz.
Öyle bir method tasarlıyalım ki gelen int degeri pozitif ise true, negatif ise false değeri geri döndürsün.

Devamı
1
Facebook
Son Yorumlar