آموزش ASP.NET Core MVC

پروژه‌ی عملی – ذخیره سازی اطلاعات فرم

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

ذخیره سازی اطلاعات فرم در ASP.NET Core

پس از ایجاد محلی برای ذخیره شده داده ها ، می‌توانیم متد اکشن Create که مسئول دریافت درخواست های Post را به صورت زیر ویرایش کنیم :

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

namespace WellComeProject.Controllers
{
    public class WellCome : Controller
    {
        public ViewResult Index()
        {
            ViewBag.WellCome = "سلام مهمان گرامی به جشن ما خوش آمدید";
            return View();
        }

        [HttpGet]
        public ViewResult Create()
        {
            return View();
        }

        [HttpPost]
        public ViewResult Create(GuestResponse guestResponse) 
        {
            Repository.AddResponse(guestResponse);
            return View("Thanks",guestResponse);
        }
    }
}

همانطور که در جلسه گذشته صحبت شد اطلاعات فرم دریافت شده از مرورگر، به صورت خودکار در فیلدهای شی کلاس Guest Response قرار می‌گیرند و تنها کاری که باید انجام شود ارسال این شی به پارامتر متد استاتیک AddResponse در کلاس Repository است.

عبارت آخر کد بالا ، به MVC می‌گوید که باید نمایی به نام Thanks را نمایش داده و شی GuestResponse را برای آن ارسال کنید (بنابراین این نما هم باید به GuestResponse مقید شود ) برای ایجاد این نما ، بر روی پوشه ی Views/WellCome راست کلیک کرده و پس از آن گزینه New Item را از فهرست Add را انتخاب کنید. از کادری که نمایان می‌شود MVC View Page را انتخاب کنید و نام نما را Thanks.schtml وارد کنید .کد این فایل را به صورت زیر ویرایش کنید.

@model WellComeProject.Models.GuestResponse
@{ 
    Layout = null;
}

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link href="~/lib/bootstrap/dist/css/bootstrap.css" rel="stylesheet" />
    <link href="~/css/site.css" rel="stylesheet" />
    <style>
        .container {
            margin-top: 40px;
            direction: rtl;
            width: 48%;
            line-height: 28px;
        }
    </style>
</head>
<body>
    <div class="container alert alert-info">
        <p>مهمان گرامی @Model.Name @Model.Family</p>
        @if(Model.WillAttend==true)
        {
            <p>از شما جهت شرکت در جشن بسیار متشکریم.</p>
        }
        else
        {
            <p>بسیار متاسفیم که نمی توانیم شما را در این جشن ملاقات کنیم.</p>
        }
        <a asp-action="ListGuests" class="pull-left btn btn-success">مشاهده شرکت کنندگان در جشن</a>
    </div>
</body>
</html>

این نما از کد Razor برای نمایش اطلاعات شی GuestResponse که برایش فرستاده شده ، استفاده می‌کند .
همین طور عبات model WellComeProject.Models.GuestResponse@ تعیین کننده مدلی است که نما به آن مقید است .

برای دسترسی به خاصیتی از شی ء مدل دریافت شده ، از نوشتار Model.PropertyName@ استفاده می‌شود. عبارت‌های مختلف razor را با شرح جزئیات آنها در فصل‌های آینده بررسی خواهیم کرد.

در تکه کد بالا با عبارت های شرطی if-else چک کردیم که اگر کاربر خواهان شرکت در جشن بود ( یعنی مقدار فیلد WillAttend برابر True بود) پیغام “از شما جهت شرکت در جشن بسیار متشکریم” به کاربر نمایش داده شود و اگر کاربر مقدار فیلد WillAttend را False انتخاب کرده پیغام “بسیار متاسفیم که نمی توانیم شما را در این جشن ملاقات کنیم” به او نشان داده شود.

با ایجاد نمای Thanks ، مثالی کاربری از پردازش فرم MVC را در اختیار داریم. پس از اجرای برنامه بر روی دکمه‌ی ثبت نام در جشن کلیک کنید . مقادیری در فرم وارد و پس از آن بر روی دکمه “ارسال اطلاعات فرم” کلیک نمایید ، نتیجه به صورت زیر خواهد بود.

نمایش اطلاعات فرم
نمایش اطلاعات فرم

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

برچسب ها

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

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

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

‫4 نظرها

  1. سلام امکانش هست که سورس این پروژه را داشته باشم؟و اینکه اطلاعات رو بخوام توی دیتابیس بریزم و نمایش بدم چه جوریه؟

    1. با سلام در حال حاضر امکان دانلود سورس قرار داده نشده انشالله در آینده سورس پروژه ها رو برای دانلود قرار خواهیم داد .
      در آموزش Entity Framework Core ارتباط با بانک اطلاعاتی را آموزش خواهم داد .

پاسخی بگذارید

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

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

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

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