آموزش Asp.Net MVC لایه مدل – یکی از لایه های مهم در معماری MVC لایه مدل – model میباشد. مدل به سادگی یک کلاس است.بله، مدل فقط یک کلاس می باشد.بنابراین، هنگامی که شما یک مدل در پوشه مدل یک برنامه MVC اضافه میکنید، با اضافه کردن یک کلاس در آن پوشه بسادگی یک مدل به آن اضافه کرده اید.
مدل ها که یک کلاس ساده میباشد. از کلاس های مدل برای انتقال داده، بین لایه های مختلف نرم افزار و پایگاه داده استفاده میشود.
با استفاده از Model، کنترل دقیق تری روی داده ها میتوانیم داشته باشیم و هم میتوانیم داده ها را راحت تر بین View و Action انتقال دهیم.
فرض کنید میخواهیم اطلاعات یک شخص را نظیر Id، نام ، نام خانوادگی و … را مدل کنیم و این اطلاعات را از ویو به اکشن و از اکشن به ویو منتقل کنیم البته با کمک مدلی که ایجاد میکنیم. برای این کار مراحل ذیل را انجام دهید.
اسم کلاس ها یا همان مدل ها باید با حرف بزگ نوشته شود.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace MyWeb2.Models
{
public class Person
{
public int PersonId { get; set; }
public string Name { get; set; }
public string Family { get; set; }
public int Age { get; set; }
}
}
شرت کات visual studio برای ایجاد پراپرتی : prop + tab + tab
using MyWeb2.Models;
Person person1 = new Person();
person1.PersonId = 1;
person1.Name = "Mohammadreza";
person1.Family = "Ahadian";
person1.Age = 35;
return View(person1);
مشاهده کل کدهای اکشن
public ActionResult Index()
{
Person person1 = new Person();
person1.PersonId = 1;
person1.Name = "Mohammadreza";
person1.Family = "Ahadian";
person1.Age = 35;
return View(person1);
}
@model MyWeb2.Models.Person
<h4>Id : @Model.PersonId</h4>
<h4>Name : @Model.Name</h4>
<h4>Family :@Model.Family</h4>
<h4>Age : @Model.Age</h4>
نمایش کل کدهای ویو
@model MyWeb2.Models.Person
@{
ViewBag.Title = "Index";
}
<h4>Id : @Model.PersonId</h4>
<h4>Name : @Model.Name</h4>
<h4>Family :@Model.Family</h4>
<h4>Age : @Model.Age</h4>
حال میخواهیم لیستی از ابجکت ها را مقدار دهی، ارسال و نمایش دهیم.
شرت کات visual studio برای ایجاد سازنده : ctrl + . و در پنجره باز شده گزینه Generate Contractor را انتخاب کنید.
public Person()
{
}
public Person(int personId, string name, string family, int age)
{
PersonId = personId;
Name = name;
Family = family;
Age = age;
}
List<Person> PersonList = new List<Person>()
{
new Person(1,"Mohammadreza","ahadian",35),
new Person(2,"Hoda","Sayadi",18),
new Person(3,"reza","asadi",15),
new Person(4,"roxana","rahimi",30)
};
return View(PersonList);
@model IEnumerable<MyWeb2.Models.Person>
<table class="table table-bordered">
<tr>
<th>Id</th>
<th>Name</th>
<th>Family</th>
<th>Age</th>
</tr>
@foreach (var person in Model)
{
<tr>
<td>@person.PersonId</td>
<td>@person.Name</td>
<td>@person.Family</td>
<td>@person.Age</td>
</tr>
}
</table>
<table class="table table-bordered">
<tr>
<th>Id</th>
<th>Name</th>
<th>Family</th>
<th>Age</th>
<th>Capabilities</th>
</tr>
@foreach (var person in Model)
{
<tr>
<td>@person.PersonId</td>
<td>@person.Name</td>
<td>@person.Family</td>
<td>@person.Age</td>
<td>
<a href="/Home/ShowList/@person.PersonId" class="btn btn-success">Show</a>
<a href="/Home/EditeList/@person.PersonId" class="btn btn-warning">Edite</a>
<a href="/Home/DeleteList/@person.PersonId" class="btn btn-danger">Delete</a>
</td>
</tr>
}
</table>