ممنون از استاد اشرافی عزیز و همچنین تیم کدیاد که دوره رو رایگان برگزار کردید قطعا یکی از خفن ترین دوره ها میشه ⚘😍
آموزش 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
- در الگوی MVC همیشه نیازمند controller هستیم. Model ، View و Controller تماما در فولدرهای جدا قرار گرفتند. بنابراین اگر قصد داشته باشید آنها را به پروژهی دیگری انتقال دهید میبایست زمان زیادی را صرف کنید.
- ریزر پیج Controller ندارند. اکشن متدها که وظیفهی مدیریت ورودی را دارند، درون فایلی به نام view قرار می گیرند.
- از همه مهمتر Razor Pages تمامی قابلیتهای MVC را شامل میشود.
- دسته بندی متفاوت MCV و Razor Pages است. دستهبندی عملکردها براساس آن چه یک درخواست انجام میدهند، صورت میگیرد. همان طور که اشاره شد Controllers contain actions, models contain data, and views هر یک در پوشههای مختص خود قرار میگیرند. این پوشهبندی های جدا از یک دیگر، قوانینی را ایجاد میکنند که در نهایت به عملکرد بهتر اجزاء کمک میکند. اما عملکرد مناسب Razor Pages پوشهبندی براساس مسئلهای است که حل میکند.
- نیازی به استفاده از 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
- اشاره شد که این فریم ورک برای سایتهای کوچک و بزرگ با تعداد صفحات زیاد، بسیار کاربردی است. اما در شرایطی قابل استفاده نیست. برای مثال زمانی که از پروژههای AJAX بیش از اندازه استفاده میشود، کارایی ندارد.
- به منظور نمایش ولیدیشن فرم (فرمهای اعتبار سنجی) میبایست از asp-validation-for استفاده کنیم. اما برای مدلولیدیشن (که ترکیبی که پراپرتیها میباشد) میبایست از asp-validation-summary بهره گرفت.
- به منظور این که متوجه شویم کدام متد پست شدن یک فرم را مدیریت میکند، میتوانیم از تگ هلپر (asp_ validation _ for) استفاده کنیم. نکتهی حائز اهمیت این است که میبایست اسمی که به عنوان هندلر وارد میکنید بعد از OnPost قرار بگیرد.
- در این فریم ورک شرایط استفاده از View Bage نیست. چرا که نوعی متغیر دینامیک میباشد که پردازش آن زمان بیشتری نیاز دارد. به طور کلی سعی کنید همیشه از View Data استفاده کنید.
- این فریم ورک به منظور تولید کدهای سمت سرور از زبان برنامهنویسی بسیار کاربردی سی شارپ بهره میبرد. از فایلهای ریزر پیج هم به منظور قرار گیری کدهای سی شارپ در Html و در نهایت تولید محتوای پویا برای مرور، میتوان استفاده کرد. این کدها عملیات پیچیدهای مانند دستیابی به پایگاه داده را برای ما انجام میدهند.
- یکی از قابلیتهای Razor این است که زمان فعلی سرور را میتواند به دست آورد و آن را نمایش دهد. به این منظور میتوانید گزینههای مربوط به فرمت را مشخص کنید. یا این که با فرمت پیشفرض آن را به نمایش بگذارید.
- صفحات وب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 را به شما توصیه میکنیم. برای شرکت در این دوره ی کاربردی و رایگان از کدیاد با ما همراه باشید.
سرفصل های دوره
ساختار کلی پروژه و توضیحات مورد نیاز
توضیحات کلی درمورد Rest Api
ساخت سرویس Auth
ساخت سرویس Banners
ساخت سرویس Categories
ساخت سرویس Comments
ساخت سرویس Orders
تکمیل سرویس ها
انتقال قالب و توضیحات کلی درمورد 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 |
دانشجوی دوره آموزش Razor Pages در ASP.NET Core - رایگان و پروژه محور
سلام وقت بخیر ضمن تشکر از دوره خوبتون لطفا آدرس گیت هاب رو بذارین.خیلی ممنون
مدرس دوره
محمد اشرافی
محمد اشرافی هستم مدیر پروژه کدیاد ، پنج ساله که توی حوضه وب کار میکنم تخصص اصلیم net. و vue.js هست و درکنار برنامه نویسی مشاوره و تدریس هم انجام میدم
سوالات متداول
در دنیای طراحی وب با تکنولوژی جذاب ASP.NET core با فریمورکی سرو کار داریم به اسم Razor Page. این فریمورک دوست داشتنی مانند گرامر یا ساختاری است که برنامه نویس بتواند کد های سمت سرور یا بک اند خود را به زبان (#C) در محتوای صفحات وب توسعه دهد. این فریمورک کراس پلتفرم می باشد و هدف اصلی آن رفع مشکلات سیستم MVC است.
بسیاری از مولفه های مهمی هستند که فریمورک Razor Page را نسبت به MVC متمایز تر و بهتر نشان می دهند از جمله: (نیازمند صرف زمان زیادی برای انتقال فایل های پروژه با razor به پروژه دیگر نیستیم، Razor Page قسمت Controller ندارد و تمام دستورات در View نوشته خواهد شد، دارای تمام قابلیت های MVC و حتی بیشتر می باشد و در آخر می توان به پوشه بندی دقیق و کاربردی پروژه ها در Razor Page اشاره کرد)
به زبان ساده، Razor Page به ما کمک میکند تا کد های لاجیک یا منطقی وب سایت را در View وب سایت بنویسیم و رندر کنیم. ما در صفحات HTML به راحتی می توانیم کد های #C بنویسیم و آن ها را اجرا کنیم. مرورگر پس از اجرای صفحه HTML در ابتدا کد های فریمورک Razor Page را اجرا خواهد کرد.
خیر، دوره آموزش Razor Page در ASP.NET core به صورت رایگان و پروژه محور هنوز به اتمام نرسیده است و در آکادمی برنامه نویسی کدیاد هنوز در حال برگزاری می باشد. شما عزیزان با ثبت نام در این دوره می توانید به آسانی از پیشرفت ها و اعلان های جدید این دوره مطلع شوید.
بله، این دوره کاملا رایگان و پروژه محور است. در این دوره سعی کردیم تا با انجام یک پروژه کامل تمام مفاهیم فریمورک Razor Page را به صورت عمیق فرا گیرید و در پروژه] های خود از آن ها استفاده کنید.
دوره آموزشی فریمورک Razor Page در ASP.NET core برای افرادی که علاقه مند به طراحی سایت و توسعه وب در حوزه جذاب ASP.NET هستند بسیار پیشنهاد می شود. شما عزیزان با بررسی تک تک مفاهیم موجود در این دوره و تمرین به صورت عملی برای درک بهتر، به آسانی می توانید به همه مفاهیم این فریمورک سریع و دوست داشتنی مسلط شوید و از آن در پروژه های آتی خود استفاده کنید.
این دوره آموزشی، تمرکز بیشتر آن بر روی نحوه استفاده و آموزش فریمورک Razor Page می باشد و به همین دلیل اگر شما عزیزان هنوز به تکنولوژی ASP.NET core مسلط نیستید، ما به شما پیشنهاد می کنیم تا در ابتدا در دوره آموزش رایگان ASP.NET Core مقدماتی تا پیشرفته را از آکادمی برنامه نویسی کدیاد ثبت نام کنید و مهارت های لازم برای شروع این فریمورک را کسب کنید.
پروژه ای که قرار است در این دوره آموزش رایگان با کمک یکدیگر توسعه دهیم، پروژه ساخت فروشگاه اینترنتی آنلاین است که دارای قسمت های جذابی می باشد اعم از : (سرویس های پیش نیاز، صفحات Auth، پنل کاربری، پنل ادمین، پنل فروشگاه، صفحات اصلی فروشگاه، صفحات ثبت و مدیریت سفارشات و…)