MVC 4.0 Yazı Dizisi – Bölüm 4 – ViewBag Kullanımı

Web uygulaması geliştirirken kod tarafından gönderilen bir verinin kullanıcı arayüzün de görüntülenmesi işlemi şüphesiz en gerekli işlemlerdendir. Birde bu işlemin gönderilen verinin tipine dinamik olarak dönüşen bir nesneye atanması olsa ne kadar güzel olurdu değil mi? İşte ViewBag Kontrolü tam bu iş için biçilmiş kaftandır.

ViewBag kontrolünü basit olarak tanımlamamız gerekirse controller içerisinden atamış olduğumuz bir değeri sayfa içerisinde kullanmamızı sağlamaktadır. Ancak dynamic tipinden bir nesne olan ViewBag kontrolünün en büyük özelliği atama yapmış olduğumuz veriye ait tipe otomatik olarak dönüşebilmesidir. Bu özelliği sayesinde herhangi bir dönüşüm işlemi gerçekleştirmemize gerek kalmadan bellek işgali en aza indirgenmiş kodlar yazabilmemizi mümkün kılmaktadır.

ViewBag kullanımını inceleyebilmek için Empty şablonunu seçerek bir ASP.NET MVC projesi başlatarak Solution Explorer penceremizin aşağıdaki hali almasını sağlayalım.

mvc4bolum4_1

Yapacağımız uygulamamızda Veritabanına ait işlemler bulunmadığından uygulamamıza bir Controller ekleyerek kodlama işlemine başlayalım.

Uygulamamız içerisine bir Controller eklemek için Solution Explorer penceresi üzerinde bulunan Controllers klasörüne sağ tuş ile tıklamamız ve açılan menüde bulunan seçeneklerden Add seçeneği altındaki alt seçeneklerden Controller seçeneği seçmemiz gerekmektedir.

mvc4bolum4_2

Controller seçeneğini seçtiğimizde karşımıza Controller’ımıza ait isimlendirme ve template seçimi yapabileceğimiz Add Controller penceresi gelecektir.

mvc4bolum4_3

Bu pencere üzerinde bulunan Controller name alanına HomeController yazarak add tuşuna bastığımızda Controller’ımız oluşturularak karşımıza Controller’ımıza ait kod bölümü gelecektir.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
 
namespace ViewBagKullanimi.Controllers
{
    public class HomeController : Controller
    {
        // GET: Home
        public ActionResult Index()
        {
            return View();
        }
    }
}

Bu kod bölümünde bulunan ActionResult tipinden değer döndüren Index Metodu sayfamıza ait istek geldiğinde çalıştırılacak metoddur. Bu metodumuza ait kodumuzu aşağıdaki gibi düzenleyerek Selamla adındaki ViewBag tanımımızı yapalım.

public ActionResult Index()
{
    ViewBag.Selamla = "Merhaba ASP.NET MVC";
    return View();
}

Controllerimize ait kodumuz tamam sıra geldi Controllerimizin içerisinde işlenen kodun Kullanıcı arayüzünde görüntülenmesine. Bunun için ilk olarak Controllerimize ait metodumuz üzerinde sağ tuşa basarak açılan menüden Add View seçeneği ile yeni bir View eklememiz gereklidir.

mvc4bolum4_4

Add View seçeneğini seçtiğimizde karşımıza View’imize ait çeşitli özellikleri belirleyebileceğimiz Add View penceresi gelecektir.

mvc4bolum4_5

Bu pencere üzerinde standart bir View oluşturacağımızdan dolayı herhangi bir değişiklik yapmayarak Add butonuna basarak View imizi oluşturalım.

View imiz oluşturulduğunda karşımıza View imize ait tasarımı oluşturan aşağıdaki kodlar gelecektir.

mvc4bolum4_6

Bu kodlarımızı aşağıdaki gibi düzenleyerek ViewBag kontrolümüze atadığımız değerin kullanıcı arayüzü tarafında görüntülenmesini sağlayalım

mvc4bolum4_7

Bu kodlama işleminde dikkatimizi çeken ASP.NET Web projesinden farklı olan iki özellik bulunmaktadır.

  • ASP.NET MVC kodları başında @ işareti ile başlar
  • ASP.NET MVC kodları Dizayn tarafında kullanılırken satır sonları “;” noktalı virgül ile bitmez

Kodlarımızı düzenledikten sonra uygulamamızı çalıştırdığımızda açılan sayfa içerisinde Controller içinde atamış olduğumuz verinin bulunduğunu görebiliriz.

mvc4bolum4_8

Bu makalemizde basit bir ASP.NET MVC projesinin oluşturulmasını ve ASP.NET MVC projelerinin içerisinde önemli bir yere sahip olan ViewBag kontrolünün kullanımını inceledik. Bir sonraki makalemizde ASP.NET MVC uygulamalarında collection halinde bulunan verinin ekrana yazdırılması işlemini inceleyeceğiz.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir