Asp.Net MVC – ViewBag Kullanımı

Merhabalar, bu makalemde Asp.Net MVC'de ViewBag kullanımından bahsedeceğim. 

1.ViewBag Nedir ? 

ViewBag, Controller'da oluşturulan bir yapıyı View kısmına taşımak için kullanılır. Kendi içerisinde birden fazla yapının aktarılmasına olanak sunmaktadır. İçerisine bir string ifade, integer ifade yada list gönderebilmek ya da eşitleyebilmek mümkündür. Kullanımı oldukça basit olmakta birlikte programcılar arasında oldukça fazla kullanılır.

 

ViewBag, sadece Controller'dan View'e değil, View'den View'e de aynı işlemi gerçekleştirebilmektedir. Layout kullanımı adlı makalemde de görüldüğü üzre, proje oluşturulduktan sonra otomatik olarak gelen ViewBag.Title, View'den View'e de veri aktarımı sağlayabildiğini gösteriyor. Veri aktarımının url ile bir bağlantısı yoktur. Yani querystring mantığı taşımaz. ViewBag bir nevi değişken gibi kullanılır. Bir çok değişken türünü içerisinde barındırdığı için sayfalar arasında veri aktarımında kullanılan bilindik bir yöntemdir.

2.ViewBag Kullanımı

ViewBag kullanımı oldukça basittir. ViewBag'den sonra nokta koyup bir isim belirlemeniz gerekiyor. Ardından yapmanız gereken tek şey karşılık gelen bir değer vermek. Örnek;

  1. ViewBag.intValue = 1;
  2. ViewBag.stringValue = " www.erenakpinar.com ";
  3. ViewBag.listValue = new SelectList(listName);

Not: ViewBag'den sonra nokta koyduğunuzda daha önce belirlemiş olduğunuz isimlendirmeleri göremezsiniz. 

Controller'dan View'e aktarım yapılırken kullanılan ViewBag'in kullanılışına bakalım.

A) Örnek 1

Controller: 

public ActionResult Index()

{

ViewBag.value = ” www.erenakpinar.com ”;

return View();

}

View:

<p>@ViewBag.value</p>

B) Örnek 2

Bu örnekte ise DropDownList ile liste çekeceğiz.

DropDownList kullanımı adlı makalemde de gösterdiğim gibi Controller kısmına aşağıdaki kodları yazıyoruz.

 public ActionResult Index()
 {

            var numbers = new List<string>();
            for (int i = 1; i <= 10; i++)
            {
                numbers.Add(i.ToString());
            }
            ViewBag.unit = new SelectList(numbers);

           return View();
 } 

View:

@Html.DropDownList("unit")

Bu makalemde Asp.Net MVC ViewBag kullanımını anlatmaya çalıştım, bir sonraki makalemde görüşmek dileğiyle.

Bir cevap yazın

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