سئو

آموزش ViewModel در ASP.NET MVC به همراه مثال کاربردی

سرفصل‌های پست

ViewModel چیست ؟

گاهی اوقات در یک پروژه‌ی MVC نیاز داریم که چندین Model را به یک View ارسال کنیم ، خب در این مواقع چه باید بکنیم ؟ خب راه چاره استفاده از ViewModel هست ، در معماری ام وی سی (MVC) ، ViewModel ، بسیار شبیه به Model است با این تفاوت که از ویو مدل (ViewModel) برای ارسال چندین Model به یک View استفاده می‌شود.

نحوه ایجاد ViewModel

به منظور درک بهتر کاربرد ویو مدل و نحوه ایجاد آن در MVC ، این مقاله آموزشی را با یک مثال پیش می‌برم، فرض کنید که می‌خواهیم دو جدول برای درج اطلاعات درون دیتابیس ایجاد نموده سپس اطلاعاتی را از این دو جدول واکشی کرده و در یک View به کاربر نمایش دهیم .

ایجاد جدوال در دیتابیس به روش EF CodeFirst

ابتدا یک پروژه از نوع MVC ایجاد نمایید سپس یک نام دلخواه برای آن انتخاب کنید من نام پروژه خودم را ViewModelProject قرار میدهم. سپس درون پوشه‌ی Model یک کلاس به نام دلخواه ایجاد نموده و فیلدهای جدول Student و Professor را درون آن تعریف کنید. من نام کلاس خودم را MyModel.cs قرار می‌دهم.

از کلاس MyModel.cs برای ساخت جدول Students و Professors در دیتابیس به روش EF CodeFirst استفاده می‌شود.

کلاس Student (اطلاعات دانشجویان) و Professor (اطلاعات اساتید)

}

تنظیم Web.Config

حال نوبت به تنظیم Web.Config می‌رسد کد زیر را بین تگ <configuration> </configuration> قرار دهید.

</connectionStrings>

در کد بالا من نام connectionString را DefaultConnection قرار دادم و در قسمت Initial Catalog نام دیتابیس خودم را ViewModelDB انتخاب کردم شما می‌توانید نام connectionString و Initial Catalog را با نام دلخواه خودتان ویرایش کنید.

ایجاد کلاس Context

حال در پوشه Model یک کلاس به نام دلخواه با پسوند Context ایجاد نموده و کدهای زیر را درون آن بنویسید. من نام کلاس خودم را ViewModelProjectContext.cs قرار داده ام.

فعال کردن Migration

حالا از منوی بالای ویژوال استدیو گزینه Tools سپس Nuget Package Manager و پس از آن Package Manager Console را انتخاب کنید حال در محیط Package Manager Console دستور زیر را وارد کنید وسپس دکمه Enter را فشار دهید.

Enable-Migrations -ContextTypeName ViewModelProject.Models.ViewModelProjectContext

آپدیت کردن دیتابیس و ایجاد دیتابیس

حالا نوبت به آپدیت کردن دیتابیس می‌رسد برای این منظور دوباره در محیط Package Manager Console دستور زیر را وارد کرده و سپس دکمه Enter رافشار دهید .

update-database

حالا دیتابیس SQL Server را باز کنید همانطور که مشاهده می‌کنید در دیتابیس ViewModelDB دو جدول Students و Professors برای شما ایجاد شده است.

تعریف کلاس برای ViewModel

توصیه می‌شود در پوشه Model یک پوشه به نام ViewModel ایجاد نموده و سپس درون آن یک کلاس برای ViewModel بسازید من نام کلاس ViewModel را CollegeViewModel.cs قرار می‌دهم .

ایجاد سازنده برای کلاس ViewModel

حال برای ViewModel خود یک سازنده ایجاد نموده و لیستی از مدل های Student و Professor را به عنوان پارامتر های ورودی به این سازنده پاس دهید به صورت زیر :

}

ایجاد Controller و ActionMethod

حال بر روی پوشه Controller راست کلیک کرده و یک Controller خالی به پروژه خود اضافه نمایید من اسم Controller خودم را College قرار می‌دهم. سپس درون کنترلر ایجاد شده یک ActionMethod ایجاد نمایید من نام این اکشن متد را Index قرار می‌دهم .

}

واکشی اطلاعات از جداول Student و Professor با LINQ و مقدارهی ViewModel

حال درون ActionMethod با دستور LINQ تمام رکوردهای جدول Student و Professor را گرفته و سپس به عنوان پارامتر ورودی سازنده‌ی CollegeViewModel قرار دهید و در انتها این ویو مدل را به ویوی اکشن متد Index ارسال کنید.

}

نمایش اطلاعات ارسال شده با ViewModel در View

حال یک ویو برای اکشن متد Index بسازید و کدهای زیر درون ویوی Index کپی کنید در کد زیر با دستور foreach اطلاعات مدل Student و مدل Professor ، از دیتابیس واکشی شده و در دوجدول نمایش داده شده است.

حالا فقط کافیه پروژه خود را اجرا نمایید .

خب به پایان این مقاله آموزشی از سایت میزفا رسیدیم اگر سوالی در رابطه با این مقاله و سایر مقالات آموزشی ASP.NET MVC داشتید حتما در قسمت نظرات این پست مطرح کنید.

منبع : میزفا

5
/
5
(
8

امتیاز

)

ادامه مطلب در سایت منبع

دیدگاهتان را بنویسید