Bir önceki girişten sonra önce Asp.Net MVC 3 için gerekli kurulumları bu linkten  indirebilirsiniz. İndirip kurma işleminden sonra Visual Studio 2010 ile MVC projesi oluşturmayı ve Asp.Net MVC 3’ün nasıl çalıştığını anlamaya çalışalım.

mvc_1

Öncelikle File->New Project ile yeni bir Asp.Net MVC 3 Web Aplication projesi oluşturuyoruz.

mvc_3

Aspx veya yeni çıkan Razor kod yapısı ileride detaylarına gireriz. Şuan Aspx seçiyoruz.

mvc_4

  • Content : Tasarımsal dosyaların bulunduğu klasördür. Themes, images vb tasarımsal dosyaları bu klasöre yerleştiriyoruz.
  • Controllers : Controller sınıflarının bulunduğu klasördür.
  • Models : Model sınıflarımızın bulunduğu klasördür.
  • Scripts : Javascript dosyalarımızın bulunduğu klasördür.
  • Views : Ekranlarımızın bulunduğu klasördür.
  • Global.asax : Uygulamanın methodlarının yakalanmasını sağlayan dosyamızdır.
Asp.Net MVC projemizin çalışma mantığı şu şekildedir :
  1. Proje çalıştırıldığında ilk önce Global.asax dosyamız çalışır ve yapılması gereken işlemler varsa onları gerçekleştirir ve yönlendirmeyi gerçekleştirir. Yönlendirme kodu başlangıçta aşağıdaki şekildedir.

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute(“{resource}.axd/{*pathInfo}”);

    routes.MapRoute(
        “Default”, // Route name
        “{controller}/{action}/{id}”, // URL with parameters
        new { controller = “Home”, action = “Index”, id = UrlParameter.Optional } // Parameter defaults
    );

}

 Projemizi çalıştırdığımızda Home/Index sayfamız açılacaktır. Action’ı About ile değiştirdiğimzde Home/About sayfamız açılacaktır.
  1. Global.asx’tan sonra hangi controller’a yönlendirme varsa o Controller’a yönlenmektedir. HomeController.cs’de Index() methoduna breakpoint yerleştirip inceleyelim.
  public ActionResult Index(){
ViewBag.Message = “Hoşgeldiniz ASP.NET MVC!”;return View();
}

Projemizi çalıştırdık. Global asax’tan HomeController’daki Index() methoduna yönlendirme yaptı. HomeController.cs’deki Index() methodumuza geldik ve burada return View() methodu ile karşılaştırdık. Bu method, Home klasörünün altındaki Index.aspx’i çalıştırmaktadır.
Burada dikkat etmemiz gereken önemli bir nokta, Index() methodunun geri döndürdüğü ActionResult türüdür. ActionResult, bu methodun bir Action döndürdüğünü belirtmektedir.
  1. Index.aspx dosyamızın içeriğini inceleyelim.

<%@ Page Language=”C#” MasterPageFile=”~/Views/Shared/Site.Master” Inherits=”System.Web.Mvc.ViewPage” %>

<asp:Content ID=”Content1″ ContentPlaceHolderID=”TitleContent” runat=”server”>
    Home Page
</asp:Content>

<asp:Content ID=”Content2″ ContentPlaceHolderID=”MainContent” runat=”server”>
    <h2><%: ViewBag.Message %></h2>
    <p>
        To learn more about ASP.NET MVC visit <a href=”http://asp.net/mvc” title=”ASP.NET MVC Website”>http://asp.net/mvc</a&gt;.
    </p>
</asp:Content>

Asp dosyalarımızı satır satır inceleyelim.
  • <%@ Page Language=”C#” MasterPageFile=”~/Views/Shared/Site.Master” Inherits=”System.Web.Mvc.ViewPage” %>
Bu satırda sayfamızın temel bilgilerini (MasterPage, language..) belirliyoruz.
  • <asp:Content ID=”Content1″ ContentPlaceHolderID=”TitleContent” runat=”server”>
  •     Home Page
  • </asp:Content>
Bu satırda, masterpage’de belirlediğimiz TitleContent’in içeriği doldurulmaktadır.
  • <asp:Content ID=”Content2″ ContentPlaceHolderID=”MainContent” runat=”server”>
  • </asp:Content>
Bu taglar arasında Masterpage’de belirlediğimiz MainContent’in içeriği doldurulmaktadır.
Bu örnekte en dikkat etmemiz gereken nokta şurasıdır:
  • <%: ViewBag.Message %>
HomeController.cs içindeki Index() methodunda ViewBag.Message propertysine “Hoşgeldiniz ASP.NET MVC!” değerini atamıştık. Burada ise bu değeri okuma işlemini gerçekleştiriyoruz.
Şimdi projemizi çalıştırıp inceleyelim.
mvc5
İlk Asp.Net MVC uygulamamızı bu şekilde çalıştırdık.
Kaynak:
Reklamlar