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

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

در این قسمت به View در MVC میپردازیم

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

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

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

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

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

لیست کشورها
لیست کشورها

خوب ویژوال استادیو و پروژه ای که با هم کار میکردیم رو باز کنید و کنترلر Home رو باز کنید و اکشن متد Index رو ببینید، در پروژه های قبلی نوع اون رو به string تغییر داده بودیم حالا اگر به عکس دقت کنید میبینید که قرار است لیستی از string برای ما برگشت داده شود، همچنین نیازی به پارامتر ها نداریم و مقدار برگشت داده شده نیز باید به لیستی از نام کشور ها تغییر کنید :

public List<string> Index()
{
retutn new List<string>()
{
"Iran",
"US",
"UK",
"Canada"
};
}

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

برای اضافه کردن View در MVC در همین اکشن متدی که هستیم کلیک راست کرده و گزینه Add View را انتخاب میکنیم، پنجره Add View نمایش داده میشود نام   View در MVC باید هم نام اکشن متد باشد (در اینجا Index) و باقی تنظیمات را به همان حالتی که هست بگذارید (در باره ی دیگر تنظیمات در آموزشات بعدی صحبت خواهیم کرد)، حالا روی کلید Add کلیک کنید تا View ساخته شود.میبینید که View ای با همان نام در مسیر Views>Home>Incex.cshtml ساخته شد.دقت کنید که این View در پوشه ی Home ساخته شده است، این به این معنی است که این View در کنترلر Home قرار دارد، پس هر View در پوشه ای هم نام کنترلر خود ساخته میشود.

برای اینکه لیست مورد نظر ما در View نمایش داده شود باید تغییراتی داده شود، ابتدا نوع اکشن متد باید به ActionResult تغییر کند و همینطور برای اینکه View نمایش داده شود باید نوع بازگشتی View باشد(MVC به طور پیش فرض View ای را نمایش میدهد که هم نام اکشن متد ما است پس نیازی با پاس دادن نام View نیست) پس اکشن متد ما به صورت زیر تغییر خواهد کرد :

public ActionResult Index()
        {
            
            return View();
        }

حالا لیست کشورها کجا ذخیره میشوند!؟ به صورت ساده تر چطور لیست کشورها به View ارسال میشود؟

می توانیم از ViewData یا ViewBag یا ViewModel استفاده کنیم، در این آموزش از ViewBag استفاده میکنیم.پس داخل اکشن متد Index لیست کشورها را تعریف میکنیم :

public ActionResult Index()
        {
            ViewBag.Countries = new List<string>()
            {
                "Iran",
                "US",
                "UK",
                "Canada"
            };
            return View();
        }

دقت کنید پراپرتی Countries برای ViewBag به صورت داینامیک بوده و هر نامی میتوانید استفاده کنید.کاری که در این اکشن متد کردیم ذخیره یک لیست از کشورها در پراپرتی به نام Countries از ViewBag بود.حالا View مورد نظر را باز کرده و کدهای زیر را جایگزین کنید :

@{
    ViewBag.Title = "Countries List";
}

<h2>Countires List</h2>

<ul>
    @foreach (string strCountry in ViewBag.Countries)
    {
        <li>@strCountry</li>
    }
</ul>

کاری که انجام شد به این صورت است که در تگ h2 عنوانی نوشتیم و یک لیست با تگ ul ساختیم، دقت کنید در این تگ از دستورات سی شارپ استفاده شده! برای استفاده از دستورات سی شارپ باید ابتدای دستور از علامت @ استفاده کتیم، به همین راحتی!

خلاصه ای از کارهای انجام شده:

در اکشن متد  Index لیستی از کشور ها را در پراپرتی ای به نام Countries از شی ViewBag قرار دادیم و در View با استفاده از حلقه foreach موارد را در لیستی نمایش دادیم.

حالا پروژه را اجرا کرده و نتیجه را ببینید.

در قسمت بعدی بیشتر در رابطه با VirewBag و ViewData صحبت خواهیم کرد.

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

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

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

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

۲ دیدگاه

  1. بازتاب ها: جلسه چهارم ViewData و ViewBag در MVC

  2. بازتاب ها: آموزش MVC برای مبتدیان ساخت ویو برای ثبت اطلاعات در بانک اطلاعاتی

پاسخ دهید

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