Merhaba,
Daha önceki
yazımda ASP.NET MVC Framework yapısından ve geleneksel ASP.NET uygulamalarına göre getirdiklerinden bahsetmiştim.Bu yazımda ise uygulama geliştirmeye giriş olarak ASP.NET MVC uygulamasının yapıtaşlarından bahsedeceğim. ASP.NET MVC uygulamalarını Visual Studio içerisinde yaratabilmek için şu
linkten setupı indirip kurmanız gerekiyor.Böylece hazır şablo olarak MVC uygulamasını yaratabiliyoruz.
Proje yaratırken ise File=>New=> Project'ten ASP.NET MVC uygulamasını seçiyoruz.
Projeyi seçip ve isim verdikten sonra OK'a basarak yeni proje yaratıyoruz. Daha sonra Unit test yaratıp yaratmayacağımızı soran bir ekran geliyor. Şimdilik OK diyerek geçiyoruz. Projeyi yarattıktan sonra aşağıdaki yapıda bir proje yaratılıyor.
Kısaca mimariyi yeniden açıklarsak:
Controllers: Kullanıcı arayüzünden gelen eventleri karşılayacak olan controller sınıfları. Herbir sayfa için bir controller yaratılır.
Models:VT işlemleri gibi veri temelli işlemlerin yapıldığı bölüm.
Views: Sayfaların ve user controllerin bulunduğu kısım.
Scripts: MS Ajax kütüphaneleri,jQuery ve jQuery intellisense js dosyalarının bulunduğu klasör.
.Tests projesi : MVC uygulamalarında test güdümlü geliştirmenin kolaylaştığından bahsetmiştik. Yapacağımız unit testleri gerçekleştireceğimiz proje.
Projede herhangi bir değişiklik yapmadan F5 ile çalıştırırsak default olarak bir MVC uygulaması açılmaktadır.
About'a tıkladığımızda ise gelen URL şu şekilde : http://localhost:4890/Home/About
Home Controller sınıfı ise şu şekilde:
9 [HandleError]
10 public class HomeController : Controller
11 {
12 public ActionResult Index()
13 {
14 ViewData["Message"] = "Welcome to ASP.NET MVC!";
15
16 return View();
17 }
18
19 public ActionResult About()
20 {
21 return View();
22 }
23 }
Yukarıdaki URL'de Home/About altında çalışacak olan metot About() metodu olacaktır. Bu metotta About sayfasını ekrana getirecektir. Index metodu ise sadece Home kısmında çalışacak olan metot. ViewData["Message"] = "Welcome to ASP.NET MVC!"; kısmında ise sayfadaki message parametresine değer atanarak view yükleme işlemi yapılmakta. Bu olayı daha iyi açıklamak için Global.asax dosyasına bakmamız gerekiyor.Burada yapılan routing tanımlamaları aslında uygulamanın akışını belirlemekte.
Global.asax dosyası:
13 public class MvcApplication : System.Web.HttpApplication
14 {
15 public static void RegisterRoutes(RouteCollection routes)
16 {
17 routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
18
19 routes.MapRoute(
20 "Default", // Route name
21 "{controller}/{action}/{id}", // URL with parameters
22 new { controller = "Home", action = "Index", id = "" }
// Parameter defaults
23 );
24
25 }
26
27 protected void Application_Start()
28 {
29 RegisterRoutes(RouteTable.Routes);
30 }
31 }
Burada kritik olan nokta {controller}/{action}/{id}" kısmı. Mesela www.aaaa.com/Home/Silme/5 gibi bir adreste yapılacak olan işlem Home Controller sınıfındaki Silme Action metodunun 5 parametresi ile çalışmasıdır. Yani uygulama akışı Controller=>Action=>id şeklinde olacak. ASP.NET MVC ile ilgili bir sonraki yazımda uygulama geliştirmeye başlayacağız ve daha detaylı inceleme fırsatı bulacağız.
Görüşmek üzere,
0 yorum:
Yorum Gönder