Veysel Uğur KIZMAZ

Asp.Net MVC 3 Controller ve View Oluşturma

25.09.2011Okunma Sayısı: 7471Kategori: ASP.NET MVC

 Bu makalemizde Asp.Net MVC 3’te Controller ve View ekleme işlemlerini inceleyelim.

 
Yeni bir Asp.Net MVC 3 projesi oluşturalım. Oluşturduğumuz projemizde Controllers’a sağ tıklayıp Add->Controller diyelim.
 
 
Controller ekleme ekranı açılacaktır. Şimdi bu ekrandaki değerleri inceleyelim.
 
 
  • Controller name : Controller’a verdiğimiz isimdir.
  • Template : Controller’ımızın başlangıçta boş mu dolu mu olması seçimini yapıyoruz.
    • Empty controller : Boş Controller oluşturur.
    • Controller with read/write actions and views, using Entity Framework : Seçtiğimiz modele göre read/write işlemlerinin ve bu işlemlerin View’larının dahil olduğu Controller’ı oluşturur.
    • Controller with empty read/write actions : read/write işlemlerinin dahil olduğu Controller ekleme işlemini sağlamaktadır.
 
Bu örneğimiz için Empty controller ekleyelim.
 
KullaniciController’ı eklediğimizde aşağıdaki kodlar kaşımıza gelecektir.
 
 
  1. namespace MVCMakale.Controllers
  2. {
  3.     public class KullaniciController : Controller
  4.     {
  5.         public ActionResult Index()
  6.         {
  7.             return View();
  8.         }
  9.  
  10.     }
  11. }

 

 
KullaniciController’da başlangıçta Index() isimli bir Action methodu yer almaktadır. Index()’in View’ı şu anda sisteme eklenmemiş haldedir. Şimdi Index’in View’ını nasıl oluşturacağımızı inceleyelim.
 
Index methodumuza sağ tıklayıp Add View seçeneğini seçelim.
 
 
Add View’a tıkladığımızda aşağıdaki ekran açılacaktır.
 
 
Bu ekrandaki özellikleri inceleyelim.
 
  • ViewName : View’a (aspx dosyamıza) vereceğimiz ismi belirliyoruz.
  • View engine : View’ımızın Razor mu ASPX dosyası mı olacağını belirliyoruz.
  • Create a strongly-typed view : Seçtiğimiz bir modele ve template’e göre View’ı düzenlemektedir.Templateler:
    • Create
    • Delete
    • Details
    • Edit
    • List
  • Create as a partial view : Partial view oluşturmak istiyorsak bu seçeneği seçmeliyiz.
  • Use a layout or master page : Sayfamızın dahil olacağı master page’i seçiyoruz.
 
Add diyerek Index.aspx’imizi ekleyelim.
 
Index.aspx View’ı, Kullanici klasörünün altında oluştu.
 
 
View’ımız oluştuktan sonra kaynak kodu aşağıdaki gibi olacaktır.
 
 
  1. <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
  2.  
  3. <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
  4.     Index
  5. </asp:Content>
  6.  
  7. <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
  8.  
  9. <h2>Index</h2>
  10.  
  11. </asp:Content>
  12.  
Projemizi çalıştırmadan önce son olarak anasayfadan Kullanici/Index.aspx’e erişebilmek için bir link ekleyelim.Bunun için Views/Shared/Site.master isimli Master Page’i açıyoruz ve kodu aşağıdaki gibi düzenliyoruz.
 
 
  1. <body>
  2.     <div class="page">
  3.         <header>
  4.             <div id="title">
  5.                 <h1>My MVC Application</h1>
  6.             </div>
  7.             <div id="logindisplay">
  8.                 <% Html.RenderPartial("LogOnUserControl"); %>
  9.             </div>
  10.             <nav>
  11.                 <ul id="menu">
  12.                     <li><%: Html.ActionLink("Home", "Index", "Home")%></li>
  13.                     <li><%: Html.ActionLink("About", "About", "Home")%></li>
  14.                     <li><%: Html.ActionLink("Kullanici", "Index", "Kullanici")%></li>
  15.                 </ul>
  16.             </nav>
  17.         </header>
  18.         <section id="main">
  19.             <asp:ContentPlaceHolder ID="MainContent" runat="server" />
  20.             <footer>
  21.             </footer>
  22.         </section>
  23.     </div>
  24. </body>
 
<ul id “menu”> listemize “Kullanici” Controller’ı içindeki “Index” Action’ının linkini veriyoruz.
 
Şimdi projemizi çalıştıralım.
 
 
Ekrandaki gibi, Kullanici linkine tıkladığımızda  /Kullanıcı klasörüne yönlenme işlemi yapacaktır ve View’ımız çalışacaktır.
 
 
 
 
Veysel Uğur KIZMAZ
Bilgisayar Mühendisi
veysel@ugurkizmaz.com
www.ugurkizmaz.com