loading...

آموزش Razor Pages در ASP.NET Core - رایگان و پروژه محور

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

قیمت: رایگان

X
24 : 16 : 17
54 جلسه
7 فصل
2 سال پشتیبانی

آموزش Razor Pages در ASP.NET Core - رایگان و پروژه محور

یکی از فریم ورک‌های کاربردی سایت که مبتنی بر داده و به صورت متمرکز بر صفحه، مورد استفاده قرار می‌گیرد، Razor Pages می‌باشد. برنامه‌نویسان دات‌نت در سمت ویو از این ابزار کاربردی استفاده‌های مختلفی دارند. در توضیحات دوره آموزشی Razor Pages در ASP.NET Core کدیاد، به معرفی و کاربرد این فریم ورک می‌پردازیم.

 

Razor Pages چیست؟

Razor گرامری برای افزودن کدهای سمت سرور (Visual basic یا #C) به WebPage می‌باشد. ریزر پیج یک امکان جدید از ASP.NET است. تمامی وب سایت‌هایی که به کمک این فریم ورک ارائه می‌شوند، کاملا کراس پلتفرم می‌باشند. به نوعی برنامه‌نویس صرفا یک بار سایت را طراحی می‌کند که بر هر سیستم عاملی قابل اجرا است. به کمک این فریم ورک می‌توان به‌ راحتی سطح بسیار بالایی از separation of concerns را ایجاد کنیم. این قابلیت نرم افزار را به حوزه‌های متفاوتی تقسیم می‌کند. هدف اصلی از ارائه‌ی Razor Pages رفع مشکلاتی است که برنامه‌نویسان با MVC داشتند. همچنین برای ایجاد کاربردهای وب قابل استفاده است.

 

مزیت‌های Razor Pages نسبت به MVC

  1. در الگوی MVC همیشه نیازمند controller هستیم. Model ، View و Controller تماما در فولدرهای جدا قرار گرفتند. بنابراین اگر قصد داشته باشید آن‌ها را به پروژه‌ی دیگری انتقال دهید می‌بایست زمان زیادی را صرف کنید.
  2. ریزر پیج Controller ندارند. اکشن متدها که وظیفه‌ی مدیریت ورودی را دارند، درون فایلی به نام view قرار می گیرند.
  3. از همه مهم‌تر Razor Pages تمامی قابلیت‌های MVC را شامل می‌شود.
  4. دسته بندی متفاوت MCV و Razor Pages است. دسته‌بندی عملکردها براساس آن چه یک درخواست انجام می‌دهند، صورت می‌گیرد. همان طور که اشاره شد Controllers contain actions, models contain data, and views هر یک در پوشه‌های مختص خود قرار می‌گیرند. این پوشه‌بندی های جدا از یک دیگر، قوانینی را ایجاد می‌کنند که در نهایت به عملکرد بهتر اجزاء کمک می‌کند. اما عملکرد مناسب Razor Pages پوشه‌بندی براساس مسئله‌ای است که حل می‌کند.
  5. نیازی به استفاده از MVC در هر جایی نیست. چرا که اکثر اوقات پیاده کردن منطق‌های ساده‌ای مثل تماس با ما به راحتی به کمک فریم ورک ریزر پیج به راحتی قابل ارائه است.

 

چرا از Razor Pages استفاده کنیم؟

  • زمانی که از این فریم ورک استفاده می‌کنید، تمرکز شما به جای controller صرفا بر page می‌باشد. با استفاده از این تکنیک صرفا کافی است در ابتدا صفحه‌ی html خود را بسازید و در صورتی که نیاز داشتید Page Handlerها را ایجاد می‌کنید.
  • طبق تاکید مایکروسافت ریزر پیج هم برای سایت‌هایی کوچک و هم بزرگ کاربردی است.
  • این شرایط را برای برنامه نویسان فراهم می‌کند تا در مسیرهای دوستانه قالبی را تعریف کنند تا هر آدرسی را که به فایلی اشاره نمی‌کند بتوان دریافت کرد.
  • فریم ورک Razor Pages بسیار سبک وزن و قابل انعطاف می‌باشد.
  • Razor Pages  قدرت نشانه‌گذاری ASP.NET سنتی را دارد. با این تفاوت که علاوه بر این که یادگیری ریزر پیج راحت‌تر است به سادگی می‌توان آن را پیاده کرد.
  • این فریم ورک بیشتر مشابه PHP و ASP می‌باشد.
  • ریزر پیج قابلیت پشتیبانی از دو زبان برنامه نویسی بسیار کاربردی  Visual Basic و #C را دارد.
  • گرامر Razor Pages از سینتکس‌های ساده‌ای بهره می‌برد که یادگیری آن برای تازه کارها بسیار ساده است. همچنین به پیشرفت بیشتر افراد کاربلد در این حوزه هم کمک می‌کند.
  • سینتکس ریزر پیج بر مبنای چارچوب ASP.NET می‌باشد که به ما تمام ویژگی‌ها و قدرت ASP.NET را ارائه می‌دهد.

کدهای سمت سرور (Visual basic یا #C) این قابلیت را دارند که قبل از ارسال صفحه به مرورگر محتوای HTML پویا تولید کنند. در صورتی که از  نظر مرورگر، صفحه HTML ارائه شده، به کمک کدهای سمت سرور، هیچ تفاوتی با محتوای HTML استاتیک ندارد.

 

نکات مهم دوره آموزش آموزش Razor Pages در ASP.NET Core

  1. اشاره شد که این فریم ورک برای سایت‌های کوچک و بزرگ با تعداد صفحات زیاد، بسیار کاربردی است. اما در شرایطی قابل استفاده نیست. برای مثال زمانی که از پروژه‌های AJAX بیش از اندازه استفاده می‌شود، کارایی ندارد.
  2. به منظور نمایش ولیدیشن فرم (فرم‌های اعتبار سنجی) می‌بایست از asp-validation-for استفاده کنیم. اما برای مدل‌ولیدیشن (که ترکیبی که پراپرتی‌ها می‌باشد) می‌بایست از asp-validation-summary بهره گرفت.
  3. به منظور این که متوجه شویم کدام متد پست شدن یک فرم را مدیریت می‌کند، می‌توانیم از تگ هلپر (asp_ validation _ for) استفاده کنیم. نکته‌ی حائز اهمیت این است که می‌بایست اسمی که به عنوان هندلر وارد می‌کنید بعد از OnPost قرار بگیرد.
  4. در این فریم ورک شرایط استفاده از View Bage نیست. چرا که نوعی متغیر دینامیک می‌باشد که پردازش آن زمان بیشتری نیاز دارد. به طور کلی سعی کنید همیشه از View Data استفاده کنید.
  5. این فریم ورک به منظور تولید کدهای سمت سرور از زبان برنامه‌نویسی بسیار کاربردی سی شارپ بهره می‌برد. از فایل‌های ریزر پیج هم به منظور قرار گیری کدهای سی شارپ در Html و در نهایت تولید محتوای پویا برای مرور، می‌توان استفاده کرد. این کدها عملیات پیچیده‌ای مانند دستیابی به پایگاه داده را برای ما انجام می‌دهند.
  6. یکی از قابلیت‌های Razor این است که زمان فعلی سرور را می‌تواند به دست آورد و آن را نمایش دهد. به این منظور می‌توانید گزینه‌های مربوط به فرمت را مشخص کنید. یا این که با فرمت پیش‌فرض آن را به نمایش بگذارید.
  7. صفحات وبASP.NET که از سینتکس Razor بهره می‌برند؛ دارای پسوند فایل cshtm (برای فریم ورکی است که از #C استفاده می‌کند) و vbhtml (برای فریم ورکی است که از VB استفاده می‌کند) می‌باشند.

 

معرفی Razor Helpers

Helper های ASP.NET، کامپوننت‌هایی هستند که صرفا با نوشتن یک خط کد  Razor می‌توان به آن‌ها دست یافت. برنامه‌نویسان  helper های شخصی خود را یا با استفاده از گرامر Razor ایجاد می‌کنند یا اینکه از helper های آماده ASP.NET استفاده می‌کنند. در واقع ریزر نوعی موتور View می‌باشد که با زبان تلفیقی C# و HTML تلاش می‌کند صفحاتی با منطق برنامه‌نویسی ارائه دهد. وجود تگ‌های Helper کار توسعه در View را جذاب‌تر می‌کند.

 

لیستی از helper های مفید Razor

  • Web Grid (خطوط افقی و عمودی هستند که بستر طراحی را منظم می‌کنند.)
  • Web Graphics (طراحی وب سایت که شامل لایه‌سازی صفحات وب، تولید محتوا، طراحی گرافیکی و رعایت اصول سئو می‌باشد.)
  • Google Analytics (با تحلیل و بررسی رفتار کاربران در زمان مشاهده وبسایت و ارائه گزارش‌های مختلف در این راستا، در بهبود سئوی سایت بسیار کمک می‌کند.)
  • Facebook Integration
  • Twitter Integration
  • Sending Email (به منظور ارتباط با مشتری و کاربران)
  • Validation (به منظور ارائه‌ی فرم‌های اعتبارسنجی در سایت)

 

Razor Pages چگونه کار می کند؟

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

 

در پایان

در توضیحات این دوره یکی از کاربردی‌ترین فریم ورک‌های برنامه نویسی را به شما همراهان معرفی کردیم. اگر به دنبال قالبی جایگزین برای MVC هستید که بتوانید در بازه‌ی زمانی کوتاه از مزایا و قابلیت‌های فوق‌العاده‌ای برخوردار باشید، یادگیری Razor Pages را به شما توصیه می‌کنیم. برای شرکت در این دوره ی کاربردی و رایگان از کدیاد با ما همراه باشید.

سرفصل های دوره

ساخت Service ها مورد نیاز
  • ساختار کلی پروژه و توضیحات مورد نیاز

  • توضیحات کلی درمورد Rest Api

  • ساخت سرویس Auth

  • ساخت سرویس Banners

  • ساخت سرویس Categories

  • ساخت سرویس Comments

  • ساخت سرویس Orders

  • تکمیل سرویس ها

  • ساخت صفحات Auth
  • انتقال قالب و توضیحات کلی درمورد Razor Pages

  • ساخت صفحه Register

  • ساخت صفحه Login

  • ساخت BaseRazorPage و SystemAlert برای نمایش خطا ها

  • اضافه کردن Jwt-Authentication به پروژه

  • اضافه کردن Jwt-Authentication به HttpRequest ها

  • پنل کاربری
  • ساخت صفحه تغییر کلمه عبور

  • ساخت صفحه ویرایش کاربر

  • ساخت صفحه آدرس ها - بخش اول

  • ساخت صفحه آدرس ها - بخش دوم

  • ساخت صفحه آدرس ها - بخش سوم

  • ساخت صفحه آدرس ها - بخش چهارم

  • تکمیل پنل کاربری

  • ساخت پنل ادمین
  • ساخت Layout ادمین

  • افزودن Slider

  • ویرایش و حذف Slider (ساخت TagHelper برای حذف از طریق Ajax)

  • تکمیل بخش Banners

  • تکمیل بخش Categories

  • تکمیل بخش Roles

  • ساخت صفحه لیست محصولات

  • ساخت صفحه افزودن محصول

  • ویرایش محصول

  • مدیریت تصاویر محصول

  • درست کردن لینک های SideBar

  • ساخت پنل فروشندگان
  • ساخت Layout | ایجاد Policy جدید برای پنل فروشنده

  • تکمیل بخش Inventory

  • ساخت صفحات اصلی فروشگاه
  • داینامیک کردن Menu

  • تکمیل صفحه اصلی

  • صفحه تکی محصول | بخش اول

  • صفحه تکی محصول | بخش دوم

  • صفحه تکی محصول | بخش سوم

  • صفحه تکی محصول | بخش چهارم

  • صفحه فیلتر محصولات

  • ساخت صفحات ثبت و مدیریت سفارشات
  • سبد خرید ( ذخیره روی دیتابیس ) - بخش اول

  • سبد خرید ( ذخیره روی دیتابیس ) - بخش دوم

  • سبد خرید ( ذخیره روی کوکی )

  • تکمیل بخش سبد خرید

  • ساخت ShippingMethods در Back-end

  • ساخت صفحه Checkout ( نهایی سازی سفارش )

  • اضافه کردن درگاه زیبال به پروژه | Zibal Gateway

  • نهایی سازی سفارش

  • نهایی سازی سفارش | بخش دوم

  • مدیریت سفارشات | پنل کاربری

  • مدیریت سفارشات | پنل ادمین - بخش اول

  • مدیریت سفارشات | پنل ادمین - بخش دوم

  • مدیریت سفارشات | پنل ادمین - بخش سوم

  • پیشنیاز های دوره چه چیزهایی هستند؟

    • C#
    • Asp.net Core

    نظرات دانشجویان

    علی محمدی

    علی محمدی | دانشجوی دوره آموزش Razor Pages در ASP.NET Core - رایگان و پروژه محور

    ممنون از استاد اشرافی عزیز و همچنین تیم کدیاد که دوره رو رایگان برگزار کردید قطعا یکی از خفن ترین دوره ها میشه ⚘😍

    ...mhassani7

    ...mhassani7 | دانشجوی دوره آموزش Razor Pages در ASP.NET Core - رایگان و پروژه محور

    سلام وقت بخیر ضمن تشکر از دوره خوبتون لطفا آدرس گیت هاب رو بذارین.خیلی ممنون

    مدرس دوره

    محمد اشرافی


    محمد اشرافی هستم  مدیر پروژه کدیاد ،  پنج ساله که توی حوضه وب کار میکنم تخصص اصلیم net. و vue.js هست و درکنار برنامه نویسی مشاوره و تدریس هم انجام میدم

    GitHub : https://github.com/mohammad-ashrafi2020