آموزش Asp.Net MVC لایه مدل

تهران آی تی / برنامــه نویــسـی / آموزش Asp.Net MVC لایه مدل

آموزش Asp.Net MVC لایه مدل

آموزش Asp.Net MVC لایه مدل – یکی از لایه های مهم در معماری MVC لایه مدل – model  میباشد. مدل به سادگی یک کلاس است.بله، مدل فقط یک کلاس می باشد.بنابراین، هنگامی که شما یک مدل در پوشه مدل یک برنامه MVC اضافه میکنید، با اضافه کردن یک کلاس در آن پوشه بسادگی یک مدل به آن اضافه کرده اید.

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

با استفاده از Model، کنترل دقیق تری روی داده ها میتوانیم داشته باشیم و هم میتوانیم داده ها را راحت تر بین View و Action انتقال دهیم.

چگونه یک مدل – Model ایجاد کنیم

فرض کنید میخواهیم اطلاعات یک شخص را نظیر Id، نام ، نام خانوادگی و … را مدل کنیم و این اطلاعات را از ویو به اکشن و از اکشن به ویو منتقل کنیم البته با کمک مدلی که ایجاد میکنیم. برای این کار مراحل ذیل را انجام دهید.

  • گام اول : ابتدا یک Controller به نام Home ایجاد میکنیم.
  • گام دوم : برای اکشن Controller خود یک View ایجاد میکنیم.
  • گام سوم : روی پوشه Model کلیک راست کرده و از گزینه Add یک کلاس به نام Person به پوشه مدل اضافه میکنیم. توجه داشته باشید که مدل ها همان کلاس هستند.

اسم کلاس ها یا همان مدل ها باید با حرف بزگ نوشته شود.

چگونه یک مدل – Model ایجاد کنیم

چگونه یک مدل – Model ایجاد کنیم

  • گام چهارم : Property های خود را ایجاد میکنیم. در این مثال ۴ پراپرتی به نام های PersonId ، Name، Family ، Age ایجاد کردیم. مقدار namespace که برابر نام پروژه و مدل یعنی MyWeb2.Models میباشد را به خاطر بسپارید چون در هرجایی که خواستید مدل Person را اضافه کنید باید با این namespace این کار را انجام دهید. به این صورت using MyWeb2.Models;

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 کنیم و این کار را توسط namespace مدلی که ایجاد کردیم، که برابر نام پروژه و مدل بود انجام میدهیم.

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 با حرف کوچک + namespace مدلی که ایجاد کردیم + نام مدل

@model MyWeb2.Models.Person

  • گام دوم : ویوهایی که به آن، مدل پاس داده میشود، ظرفی دارند به نام Model با M بزرگ که این ظرف به شکل مدلی که برای آن ارسال شده در می آید. پس توسط این ظرف، اطلاعات ارسال شده توسط مدل را دریافت و نمایش میدهیم.

<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>

حرفه ای تر کردن مثال بالا – ارسال لیستی از آبجکت

حال میخواهیم لیستی از ابجکت ها را مقدار دهی، ارسال و نمایش دهیم.

لیستی از آبجکت

لیستی از آبجکت

  • کام اول : برای اینکه بتوانیم مدل Person خود را راحت تر و در یک خط مقدار دهی کنیم دو سازنده – contractor به مدل خود اضافه میکنیم. یکی به صورت پیش فرض که اگر مدل خود را مقدار دهی نکردیم ارور ندهد و یکی شامل همه پراپرتی ها.

شرت کات 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;
}

  • گام دوم : در اکشن خود لیستی از مدل Person ایجاد و مقدار دهی میکنیم. و آن را به سمت View ارسال میکنیم.

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);

  • گام سوم : در View باید مدل ارسال شده، که از نوع لیست است را به صورت زیر بگیریم.

@model IEnumerable<MyWeb2.Models.Person>

  • گام چهارم : حال که ظرف مدل را داریم با یک foreach ساده داده ها را در یک جدول نمایش میدهیم.

<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>

  • گام پنجم : در این مرجله میخواهیم ۳ باتن ویرایش، حذف و نمایش به لیست خود اضافه کنیم و آنها را لینک کنیم البته همراه با Id. برای این کار کافی است کدهای صفحه ویو را به شکل زیر تغییر دهیم البته باید برای لینک هایی که ایجاد کردیم نیز اکشن و ویو بسازیم که در این مثال ما این کار را نکردیم.

<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>

جستجو کنید

طراحی و پیاده سازی پروژه های طراحی سایت دانشجویی

انجام، اجرا و طراحی پروژه های طراحی سایت برای دانشجویان با HTML CSS PHP ASP.NET JAVA و ... با کمترین هزینه. برای مشاهده نمونه کارها و یا دریافت مشاوره رایگان از تیم طراحی سایت تهران آی تی با ما در تماس باشید. ما بهترین پروژه های طراحی سایت را با حداقل هزینه برای شما طراحی میکنیم - مشاوره رایگان 09121486770

مــشاوره و مشاهده نمونه کارها

مطالب مرتبط

لطفا از مطالب مرتبط با این پست دیدن فرمایید

جــذاب های هفته

از پربازدیدترین مطالب تهران آی تی در هفته ای که گذشت دیدن فرمایید

باورکردنی نیست فقط با 300 هزار تومان

طراحی سایت شما + طراحی اپلیکیشن هدیه و رایگان
این یک حراج است در مدت زمان محدود - شرکت های زیادی سایت های ارزان طراحی میکنند اما آیا کیفیت لازم را دارا هستند؟ طراحی سایت ارزان به همراه اپلیکیشن رایگان هدیه برای اولین بار توسط تهران آی تی مخصوص سازمان ها و کسب و کار های کوچک و بزرگ و حتی جدید تیم طراحی سایت تهران آی تی در کنار شماست تا شناخته شوید - مشاوره رایگان 09121486770

مــشاوره و مشاهده نمونه کارها

پشتیبانی 24 ساعته

تیم تهران آی تی در هفت روز هفته و 24 ساعت روز آماده پاسخ گویی به سوالات کاربران و ارائه مشاره رایگان میباشد