آموزش ASP.NET Core MVC

آشنایی با ViewBag در ASP.NET Core MVC

با عرض سلامی دوباره خدمت تمامی همراهان دوره آموزش ASP.NET ، با یکی دیگر از جلسات آموزش طراحی سایت با ASP.NET Core در خدمت شما دوستان عزیز هستیم در جلسه گذشته با نحوه ایجاد View در پروژه‌ی ASP.NET Core MVC آشنا شدیم در این جلسه قصد داریم تا شما را با کاربرد و نحوه استفاده از ViewBag در ASP.NET Core MVC آشنا نماییم پس با ما همراه باشید.

خروجی پویا با استفاده از ViewBag در ASP.NET Core MVC

هدف نهایی از یک برنامه کاربردی وب ، ایجاد و نمایش محتوای پویاست . در MVC پردازش و ایجاد داده و ارسال آن برای نما یا View، وظیفه‌ی کنترلر است . پس از ان وظیفه نما ، تولید HTML است. یک روش برای ایجاد داده‌ی مورد نیاز برای View ، استفاده از شی ViewBag (عضوی از کلاس پایه ی Controller) است‌.

ViewBag چیست ؟

ViewBag شیئی پویاست که می‌توانید خصوصیات دلخواهی را به آن نسبت دهید. پس از آن ، این خصوصیات می‌توانند در دسترس نمای مربوط به متداکشن قرار گیرند. کد زیر نشان دهنده داده‌های ساده‌ی پویاست که بدین صورت در HomeController ایجاد شده اند.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;

namespace Sample4.Controllers
{
    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            ViewBag.Greeting = "Good Morninig World";
            return View("MyView");
        }
    }
}

با نسبت دادن مقداری به خصوصیت ViewBag.Greeting داده‌ی مورد نیاز نما تولید می‌شود . توجه کنید که این خصوصیت درست زمانی ایجاد می شود که مقداری به آن نسبت دهید . این موضوع امکان فراهم کردن داده برای نما به صورتی روان و ساده و بدون آن که لازم باشد از پیش کلاسی ایجاد کرده باشید را فراهم می‌کند.

همانگونه که در کد زیر می‌بینید، برای دریافت داده‌ی یاد شده ، دوباره در View یا نما از خصوصیت ViewBag.Greeting استفاده شده است .

@{ 
    Layout = null;
}

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Index</title>
</head>
<body>
    <div>
        @ViewBag.Greeting
    </div>    
</body>
</html>

 

هنگامی که متد ()View در اکشن ()Index فراخوانی می شود ، MVC فایل MyView.cshtml را یافته و از موتور Razor تقاضای تفسیر کد آن را میکند. Razor به دنبال عباراتی شبیه به انچه که در کد بالا (با پیش نشانه @ ) آمده است گشته و آن را اجرا می‌کند. در این مثال ، نتیجه اجرای View ، چاپ مقداری است که در اکشن به خصوصیت ViewBag.Greeting نسبت داده شده است.

تا جایی که نام ViewBag به کار رفته در View یا نما با نام ViewBag استفاده شده در متد اکشن(Greeting) یکی باشد ، می‌توانید به جای آن از هر نام‌ دیگری استفاده کنید و نتیجه تغییر نخواهد کرد. با استفاده از چندین ViewBag در متداکشن ، می‌توانید مقادیر مختلفی را برای نما ارسال کنید . اجرای پروژه همانند تصویر زیر خواهد بود.

اینم بخون، جالبه
پروژه‌ی عملی - ایجاد فرم ورود اطلاعات
نمایش مقدار ViewBag در View
نمایش مقدار ViewBag در View

 

بسیار خب به پایان این جلسه آموزشی رسیدیم امیدوارم که مطالب این جلسه آموزش ASP.NET Core MVC برای شما عزیزان مفید واقع شود .

آشنایی با ViewBag در ASP.NET Core MVC
امتیاز 5 از 2 رای
برچسب ها

آرزو ابراهیمی

بیش از 4 سال است که زمینه طراحی و توسعه سایت فعالیت می‌کنم، طراح و برنامه نویس انواع سامانه‌های تخصصی پزشکی، مناقصات، فروشگاهی و ... بودم و هستم و هدفم در سایت میزفا ارائه اطلاعات بروز و ناب در زمینه طراحی سایت است. تا از این طریق بتونم تجربیات و دانسته های خودم را با تمامی علاقمندان به مباحث طراحی سایت به اشتراک بزارم .

نوشته های مشابه

‫4 نظرها

  1. سلام … خیلی ممنون بابت آموزش ها

    من این جمله رو متوجه نشدم:
    “تا جایی که نام ViewBag به کار رفته در View یا نما با نام ViewBag استفاده شده در متد اکشن(Greeting) یکی باشد ، می‌توانید به جای آن از هر نام‌ دیگری استفاده کنید و نتیجه تغییر نخواهد کرد.”

    1. با سلام … خواهش میکنم .
      منظور این است که نام Viewbag استفاده شده در View حتما باید با نام ViewBag مقداردهی شده در متد اشکن یکی باشد. مثلا اگر نام ViewBag به صورت ViewBag.test هست باید عینا این ViewBag را به صورت ViewBag.test در View هم استفاده کنیم تا مقدار ViewBag به ما نمایش داده شود.

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

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

دکمه بازگشت به بالا
سایت خود را در گوگل مدیریت کنید + ۱۵ ساعت فیلم آموزشیجزئیات بیشتر اینجا کلیک کنید
بستن
با موفقیت ثبت شد، میزفا از شما برای عضویت در خبرنامه هفتگی تشکر میکند.

عضویت در خبرنامه هفتگی برای دریافت:

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
ترک میزفا خوب نیست!
دوره رایگان سئو