خانه / برنامه نویسی / آموزش ASP.NET MVC برای مبتدیان-جلسه پنجم-Models در MVC

آموزش ASP.NET MVC برای مبتدیان-جلسه پنجم-Models در MVC

در این جلسه در باره Models در MVC صحبت خواهیم کرد، لطفا قبل از مطالعه این جلسه حتما جلسات قبل رو که در زیر لینک اونها رو میبینید، مطالعه کنید.

قسمت های قبلی آموزش ASP.NET MVC :

آموزش ASP.NET MVC برای مبتدیان – مقدمه

آموزش ASP.NET MVC برای مبتدیان-جلسه اول

آموزش ASP.NET MVC برای مبتدیان-جلسه دوم

آموزش ASP.NET MVC برای مبتدیان-جلسه سوم

آموزش ASP.NET MVC برای مبتدیان-جلسه چهارم

اجازه بدید Models در MVC رو با یک مثال درک کتیم، تصور کنید که قرار است اطلاعات کارمندان رو می خواهم در یک صفحه نمایش بدهم به صورت زیر :

Models در MVC
Models در MVC

در اصل اطلاعات کارمند رو قرار است از جدولی به نام tblEmployee از بانک اطلاعاتی واکشی کنیم اما در این مثال مدلی درست میکنیم و اطلاعات کارمند رو به صورت هارد کد واکشی میکنیم (یعنی به بانک اطلاعاتی متصل نمیشیم) زیرا تمرکز ما ذر این جلسه روی ارسال اطلاعات از کنترلر به ویو از طریق Models در MVC است.

خوب برای واکشی اطلاعات کارمند نیاز به مدلی از کارمند داریم که با ساختن یک کلاس در پوشه ی Models این کار رو انجام میدهیم.محیط ویژوال استادیو رو باز کنید و روی پوشه ی Models در MVC پروژه رایت کلیک کنید و گزینه Add و سپس گزینه Class رو انتخاب کنید، نامی که انتخاب میکنیم Employee است.

حالا باید پراپرتی ها رو اضافه کنیم، پراپرتی ها همان فیلد های جدول توی SQL هستند، در این مثال پراپرتی هایی که نیاز داریم EmployeeId و Name و Gender و City هست.برای افزودن پراپرتی ها به صورت زیر عمل میکنیم:

public class Employee
    {
        public int EmployeeId { get; set; }
        public string Name { get; set; }
        public string Gender { get; set; }
        public string City { get; set; }
    }

همونطور که میبینید EmployeeId از نوع اینتیجر انتخاب شده و باقی پراپرتی ها از نوع استرینگ.

جالا باید کنترلر Employee رو به پروژه اضافه کنیم، برای این کار همونطور که در آموزشات قبلی هم دیدیم روی پوشه Controllers کلیک راست کردی و Add Controller رو انتخاب میکنیم و نام اون رو EmployeeController قرار میدهیم.دقت کنید که به صورت پیش فرض نام اکشن متدی که داخل این کنترلر ساخته Index است پس اجازه بدید نام اکشن متد رو به Details تغییر بدیم، پس کنترلر ما به شکل زیر خواهد بود :

public class EmployeeController : Controller
    {
        //
        // GET: /Employee/

        public ActionResult Details()
        {

            return View();
        }

    }

همونطور که گفته شد در واقعیت و پروژه های تجاری باید اطلاعات از بانک اطلاعاتی خوانده شود اما در این مثال ما اطلاعات کارمند رو از طریق هارد کدی که در همین اکشن وارد میکنیم میخوانیم (در جلسات آینده در باره واکشی اطلاعات از بانک اطلاعاتی بحث خواهیم کرد).

برای اینکار یک شی از مدل تعریف میکنیم و اطلاعات یک کارمند رو وارد میکنیم و به ویو پاس میدهیم :

public ActionResult Details()
        {

            Employee employee = new Employee()
            {
                EmployeeId = 1001,
                Name = "Kamran",
                Gender = "Male",
                City = "Gonbad"
            };

            return View(employee);
        }

دقت کنید که فضای نام مدل را هم به این کلاس (کنترلر) باید اضافه کنیم :

using MVCDemo.Models;

پس یک کارمند داریم که اطلاعات این کارمند در شی ای به نام employee قرار دارد و به ویو پاس دادیم، حالا باید ویوای داشته باشیم تا اطلاعات رو به کاربر نمایش دهد.پس همونطور که در آموزش ASP.NET MVC برای مبتدیان-جلسه سوم View در MVC یاد گرفتیم روی اکشن متد کلیک راست کرده و گزینه Add View رو انتخاب میکنیم، در پنجره باز شده گزینه Create a strongly-typed view رو علامت دار میکنیم و از منوی زیر همین گزینه (Model Class) باید مدلی که ساخته بودیم (Employee) رو انتخاب کنیم، فقط دقت داشته باشید که اگر پروژه رو بیلد نکرده باشید کلاس مدل ما در لیست نمایش داده نمیشود پس حتما پروژه رو بیلد کنید(روی پروژه در Solution Explorer کلیک راست کنید و گزینه Build رو انتخاب کنید و یا کلید های ترکیبی CTRL+Shift+B رو بفشارید).حالا کلید Add رو بفشارید تا ویو مورد نظر ما ساخته بشه.همونطور که میبینید پوشه ای به نام Employee ساخته شد و درون پوشه یک فایل(ویو) به نام Details ساخته شده است.

به خط اول این ویو دقت کنید :

@model MVCDemo.Models.Employee

@model برای ما حکم یک شی از مدل Employee را دارد، یعنی شما با نوشتن @model تمامی پراپرتی های مدل رو در اختیار دارید.

همونطور که ابتدای بحث گفتیم این ویو قرار است اطلاعات یک کارمند رو برای ما نمایش بده، پس طبق عکس میبینید که نیاز به یک table داریم که اطلاعات کارمند رو نمایش بدیم :

@model MVCDemo.Models.Employee

@{
    ViewBag.Title = "Employee Details";
}

<h2>Employee Details</h2>

<table>
    <tr>
        <td>Employee Id</td>
        <td>@Model.EmployeeId</td>
    </tr>
    <tr>
        <td>Employee Name</td>
        <td>@Model.Name</td>
    </tr>
    <tr>
        <td>Employee Gender</td>
        <td>@Model.Gender</td>
    </tr>
    <tr>
        <td>Employee City</td>
        <td>@Model.City</td>
    </tr>
</table>

به همین راحتی!

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

در این قسمت از آموزش Models در MVC رو بررسی کردیم و با توجه با صحبتهای بنده میتوانیم بفهمیم که Models در MVC راه ارتباطی یک کنترلر با بانک اطلاعاتی است.

مطلب پیشنهادی

تنظیمات در زامارین استادیو

آموزش زامارین قسمت دوم فیلم مقدمه ای بر زامارین

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

۲ دیدگاه

  1. بازتاب ها: آموزش MVC برای مبتدیان-ساخت لینک با استفاده از ActionLink Helper

  2. بازتاب ها: آموزش ASP.NET MVC برای مبتدیان دسترسی به داده ها از طریق EF

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *