21 Ağustos 2014 Perşembe

ASP.Net MVC ile Telefon Rehberi

Merhaba arkadaşlar,

Bu makalemizde MVC ile telefon rehberi yapmaya çalışacağız.Projemizde Asp.Net Mvc 5 kullanacağız.Şimdi visual studio yu açalım ve New Projet i tıkladıktan sonra aşağıda gösterilen ekranda Web sekmesine tıklıyalım.Sonra da gelen proje template de Asp.Net Web Application ı seçip projemize ismini verelim.Ben projeye TelephoneGuide ismini verdim.
Burada dikkat etmemiz gereken bazı durumlar var .İlk önce bilmemiz gerekern farklı visual studio sürümleri farklı mvc sürümlerini destekler.Onun için MVC 5 projesi oluşturmak için .Net framewok 4 ve üstü gereklidir ayrıca visual studio 2013 gereklidir.Şimdi projemizi oluşturmak için gerekenleri yaptıktan sonra ok butonuna basıyoruz ve karşımıza aşağıdaki ekran geliyor.

Burada Empty yi seçip MVC checkbox ı işaretliyoruz.Bu ekranda gördükleriniz hakkında daha sonra bilgi vermeye çalışacağım biz şimdilik bizi ilgilendiren kısmına geçelim.



Ok butonuna tıklayınca projemiz oluşmaya başlıyor.Proje oluşturken karşımıza Windows Azure kayıt olamak istermisiniz diye sorabiliyor istiyorsanınz kayıt olabilirsiniz ama biz şimdilik no thanks deyip geçiyoruz.Aşağıdaki resimde projemizin dosya yapısı gösterilmekte.


Şimdi projemizin veritabanında neler yer alacak ona karar verelim.
    ID
    Name
    Telnumber
    Address
Siz kendi projenizde daha farklı alanlara yer verebilirsiniz.Şimdi yukarıdaki ekranda gördüğünüz Models klasörüne sağ tıklayıp Add Class ı tıklayalım.Çıkan ekranda class ismine PhoneGuide deyim Add butonuna tıklayalım.Aşağıdaki gibi bir ekran görüntüsü almamız gerek.


Şimdi bu class altında kodlarımızı yazmaya çalışacağız.


Burada bilmemiz gerekenler:
   Required,StringLength,DataType  ifadelerini kullanabilmek için 
aşağıdaki referansını eklemek gerek.


     Required ifadesinin olduğu alanlara mutlaka bir bilginin girilmesi gerektiğini bize bildirir.

     StringLength ifadesinin olduğu alanlara girilecek olan verinin uzunluğunu bildirir.ilk değer maximum,ikinci değer minimum değeri gösterir.

     DataType  kayıt edilecek olan verinin hangi formatta girileceğini bize bildirir.


Şimdi yapmamız gerek işlem yazdığımız PhoneGuide class ını veritabanına yönlendirmek veritabanına kayıt edilecek yolu belirlemek.Bunun için yazdığımız PhoneGuide classının altına aşağıdaki class ı yazalım.
Burada DbContext ve DbSet<> ifadelerini kullanabilmek için projemizde EntityFramework un yüklü olması gerekir.Yüklü olduğunu anlamak için projemizde yer alan References kısmına bakmanız yeterli olacaktır.

Eğer projemizde EntityFramework yüklü değilse aşağıdaki yolu izleyebilirsiniz.Project>Manage Nuget Packages a tıklayıp karşımıza gelen ekranda arama kısmına EntityFramework yazıp yükleyebilirsiniz.Ayrıca  projemize framework u ekledikten sonra

using System.Data.Entity; ifadesinide eklemeniz gerekecektir.


Gerekli işlemleri yaptıktan sonra proje dosyalarımızda yer alan Controllers sağ tıklayıp New Scaffold item a tıklıyoruz.Karşımıza gelen ekranda kırmızı ile seçilmiş alanı seçiyoruz ve Add butonuna tıklıyoruz.Eğer bir hata ile karşılacak olursanız projenizi derledikten sonra tekrar denemenizde fayda olacaktır.Şimdi karşımıza gelen ekranda kırmızı ile işaretli alanı seçip Add butonuna tıklıyoruz.


Add butonuna tıkladıktan sonra karşımıza aşağıdaki ekran gelecektir.
Burada Model Class ı veritabanı alanlarının yer aldığı class ı seçip sonra yazdığımız DbContext i de seçtikten sonra Add butonuna tıklıyoruz.Sonra projemiz için gerekli olan işlemler arka planda yapılıyor.Projemizde olması gereken kayıt ekleme,silme kayıt güncelleme,listeleme gibi işlemler arka planda otomatik olarak oluşturuluyor.

Gördüğünüz gibi gerekli olan sayfalar otomatik olarak oluşturuldu.Şimdi yapmamız gereken işlem F5 tuşuna basıp projemizi çalıştırmak.Projemizin açılış sayfası aşağıdaki gibidir.

Burada Create New linkine tıkladıktan sonra sisteme veri kayıt etmeye başlayabilir ve projemizin diğer özelliklerine gözatabiliriz.Burada hatırlatmak istediğim husus makalemde herhangibir yanlış ifade kullanmışsam lütfen beni uyarınız.

Bol kodlu günler kolay gelsin arkadaşlar.

Araştırılmasında Fayda Var:
    get;set; deyimleri
    MVC temelleri
    System.Data.Entity sınıfı
    EntityFramework nedir?