مادل ها (Models) در asp.net mvc

Model ها در ASP.NET MVC در اصل ساختارهای اطلاعاتی می باشند که در پروژه مورد استفاده قرار می گیرند. این ساختارها می توانند اطلاعات تولیدی توسط برنامه یا اطلاعات ذخیره شده در پایگاه داده باشند. در مقاله قبلی نحوه ساخت Controller آموزش داده شد اما اطلاعاتی از طریق آن به View  ارسال نگردید. Model ها اطلاعاتی می باشند که توسط Controller تولید، یا استخراج شده و به View ارسال می شوند.

نحوه استفاده

پروژه ساخته شده  مقاله قبلی را باز کرده و در پوشه Model یک کلاس به نام Category ایجاد کنید.

ساخت model

Property های زیر را به این کلاس اضافه نمایید.

public class Category
{
    public int Id { get; set; }
    public string CategoryName { get; set; }
    public string Description { get; set; }
}

به همین سادگی یک Model (ساختار اطلاعاتی) ساخته شد. حال قصد داریم از این Model استفاده نموده و اطلاعاتی را به View ارجاع دهیم. بنابراین یک Controller جدید به نام Categories به پروژه اضافه نمایید.

ارسال اطلاعات model

قصد داریم در اکشن Index لیستی از Category ها ایجاد کرده و آن را به View مربوطه ارسال نماییم. برای استفاده از کلاس های تعریف شده در پوشه Models ابتدا باید namespace آن را به کنترلر مورد نظر اضافه نمایید.

using Example02.Models;

سپس کدهای زیر را به اکشن Index اضافه کنید.

public ActionResult Index()
{
    List<Category> categoryList = new List<Category>();
    categoryList.Add(new Category { Id = 101, CategoryName = "برنامه نویسی", Description = "آموزش انواع زبان های برنامه نویسی" });
    categoryList.Add(new Category { Id = 102, CategoryName = "طراحی سایت", Description = "آموزش طراحی سایت به وسیله تکنولوژی های نوین" });
    categoryList.Add(new Category { Id = 103, CategoryName = "عمومی", Description = "آموزش مفاهیم عمومی و کاربردی کامپیوتر" });
    categoryList.Add(new Category { Id = 104, CategoryName = "پایگاه داده", Description = "آموزش مفاهیم پایگاه داده بصورت کاربردی" });

    return View(categoryList);
}

در مثال فوق ابتدا لیستی از Category ها ایجاد و مقدار دهی شده و در نهایت توسط دستور زیر، این اطلاعات به View ارسال گردیده است.

return View(categoryList);

هنگامی که قصد داشته باشید از پایگاه داده نیز استفاده نمایید، با دستوراتی مشابه می توانید اطلاعات را از پایگاه داده استخراج کرده و به View ارسال نمایید.