• آموزش یک پروژه ASP.NET MVC 5 از ابتدا تا انتها – سیستم ویدئو کلوپ – بخش یازدهم
آموزش یک پروژه ASP.NET MVC 5 از ابتدا تا انتها – سیستم ویدئو کلوپ – بخش یازدهم
1395/03/25 - 01:54:51 // MVC 5 & 6 // 0 نظر // 4634 بازدید

در این بخش قصد داریم یکی از مهمترین بخشهای مرتبط به Data و Model را بررسی کنیم. ما در Random View فقط عبارت Name را نمایش دادیم. حال اگر نیاز به نمایش لیست مشتریان باشد ، چه باید کرد؟

بسمه تعالی

آموزش یک پروژه ASP.NET MVC 5 از ابتدا تا انتها سیستم ویدئو کلوپ بخش یازدهم

در این بخش قصد داریم یکی از مهمترین بخشهای مرتبط به Data و Model را بررسی کنیم. ما در Random View فقط عبارت Name را نمایش دادیم. حال اگر نیاز به نمایش لیست مشتریان باشد ، چه باید کرد؟

دقت کنید که در View مورد نظر هم به لیست مشتریان نیاز دارم و هم به لیست فیلمهای موجود در کلوپ . اینجاست که کلاسهای درون Model من دچار نارسایی هستند. View هم که فقط یک Model قبول میکند. پس چه باید کرد؟

ViewModel در اصل یک نوع Model است که الزاما ارتباطی با دیتابیس ندارد و معادلش درون دیتابیس جدول نداریم و ضمنن اختصاصی برای یک یا چند View خاص ایجاد شده است.

برای شروع به یک Customer Class نیاز داریم. به فولدر Model یک کلاس جدید به نام Customer اضافه میکنیم. درون کلاس چند Property به شکل زیر ایجاد میکنیم.

برای داشتن ViewModel یک فولدر جدید در سطح Solution ایجاد میکنیم.

یک فولدر جدید به نام ViewModels در Project Root ایجاد کنید.

حال درون این فولدر یک کلاس جدید به نام RandomMovieViewModel ایجاد میکنیم. این کلاس هم دارای دو Property یکی از جنس Movie و دیگری لیستی از Customers میباشد.

خوب حالا به Controller و RandomAction بر میگردیم. در ابتدا یک لیست از Customers ایجاد میکنم. فعلن که دیتابیس موجود نیست ، باید به این صورت مشکل را حل کنیم.

حالا باید از ViewModel یکObject ایجاد کنیم و فیلدهای آنرا با مقادیری که ایجاد کرده ایم ، مقدار دهی میکنیم.

حالا باید بجای پاس دادن Model به View ، باید ViewModel را به View پاس بدهیم.

هنوز ایراد وجود دارد و viewModel را با خط چین قرمز مشخص کرده . علت عدم همانگی با View است و باید view را اصلاح کنیم.

خوب تصویر بالا نشان میدهد که هم Model صفحه عوض شده و به ViewModel تبدیل شده و هم درون تگ h2 چگونه به Name دسترسی داریم. حالا به تصویر زیر دقت کنید .

پس ظاهرا به لیست Customers هم دسترسی داریم و میتوانیم در قسمت بعدی لیست Customers را داشته باشیم.

دانلود سورس پروژه

علی کلاهدوزان
معرفی نویسنده : علی کلاهدوزان

سلام بر دوستان ،
شاید رایج است به عنوان پروفایل کاربر ، چند خطی راجع به خودم بنویسم ، ولی وضعیت کاری و سوابق من با یک جستجوی ساده در گوگل مشخص خواهد شد ، لذا سرتان را با مطالب بی مورد به درد نیاورم بهتر است . اگر نکته خاصی لازم بود بدانید در قسمت "ایلیا سافت در یک نگاه" به احتمال زیاد یافت خواهد شد . جزئیات بیشتر را سوال کنید ، آدرس ایمیل Ali@Kolahdoozan.com همیشه جوابگوی شماست .امیدوارم از مطالب سایت استفاده کرده باشید . شاد و پیروز باشید .

امتیاز به مطلب
           
نظرات کاربران
ارسال نظر