MVC Birden Fazla Model Kullanımı

14 Kasım 2013
Posted by Çağatay Yıldız
5284 Views
MVC

Bu yazımızda MVC de birden fazla modeli bir view içerisinde nasıl kullanacağımızı göstereceğiz. Senaryomuzda databasede bulunan birbirinden bağımsız iki tablodan verileri alıp tek sayfada fakat aynı model içerisinde göstereceğiz. İşlem oldukça basit. Öncelikle bir view model oluşturuyoruz.

    public class HomePageViewModel
    {
        public IEnumerable<News> HomeNews { get; set; }
        public IEnumerable<Categories> SideBarCategories { get; set; }
    }

Burada bulunan News ve Categories Database de bulunan 2 tablomuz. IEnumerable tipinde tanımlamamızın nedeni verileri sayfamızda liste halinde görüntülemek. Html kısmındaki model tanımlaması şu şekilde

@model OrnekProje.Models.ModelTypes.HomePageModel

Modelimizi tanımadıktan sonra sıra geldi verilerimizi görüntülemeye.

	        @foreach (var item in Model.HomeNews)
	        {
               <li>@item.Description<li>        
	        }

	        @foreach (var item in Model.SideBarCategories )
	        {
               <li>@item.CategoryName<li>        
	        }

Görüldüğü iki modelimizi farklı yerlerde esnek bir şekilde tanımlıyoruz. Gerek html sayfalarımızı kimi partiallar şeklinde ayırdığında gerek tek sayfada kullanabiliriz. Dilersek tablolarımız dışında kendi modellerimizi de tanımlayıp aynı yapıyı rahatlıkla kullanabiliriz.