آموزش برنامه نویسی وب با Razor Pages در ASP.NET Core
آموزش برنامه نویسی وب با Razor Pages در ASP.NET Core یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی آموزش کامل Razor Pages در ASP.NET Core است که با نام اصلی Razor Pages in ASP.NET Core - Getting Started از شرکت Pluralsight منتشر شده است.
فریم ورک ASP.NET Core Razor Pages چیست؟
فریم ورک ASP.NET Core Razor Pages به منظور ساخت وب سایت های مبتنی بر داده و یا data-driven که قرار است به صورت پویا و متمرکز بر صفحه و یا page-focused مورد استفاده قرار بگیرند ایجاد شده است. با استفاده از این فریم ورک میتوانید به راحتی سطح بسیار بالایی از separation of concerns را ایجاد کنید. از آنجایی که این فریم ورک را میتوان در کنار آخرین ورژن از ASP.NET یعنی همان ASP.NET Core مورد استفاده قرار داد، وب سایت های ایجاد شده با این فریم ورک به صورت کاملاً cross-platform قابل اجرا بر روی سیستم عامل هایی از قبیل ویندوز، لینوکس و مک هستند. ضمناً توصیه می کنیم که از بسته ی آموزش ویدئویی ساخت اولین وب اپلیکیشن با ASP.NET Core MVC نیز استفاده کنید.

فریم ورک ASP.NET Core Razor Pages به صورت کاملاً سبک وزن و یا lightweight و همچنین انعطاف پذیر پیادهسازی شده است. با استفاده از این فریم ورک برنامه نویس کنترل کامل بر روی HTML تولید شده خواهد داشت. فریم ورک بر اساس ASP.NET Core MVC کار کار میکند و به طور پیش فرض در زمان فعال شدن MVC بر روی .Net Core شروع به کار خواهد کرد. این فریم ورک از زبان برنامه نویسی سی شارپ برای تولید کد سمت سرور و از فایلهای razor برای قراردادن کدهای سی شارپ در HTML و نهایتاً تولید کردن محتوای پویا برای مرورگر استفاده می نمایند.
ساختاردهی صفحات وب با PageModel در Razor Pages
در توسعه وب با ASP.NET Core، سازماندهی منطق برنامه و رابط کاربری تأثیر مستقیمی بر خوانایی و نگهداری کد دارد. در Razor Pages، هر صفحه میتواند منطق پردازش درخواست خود را در یک کلاس PageModel داشته باشد و بخش نمایش را در فایل Razor نگهداری کند. این ساختار به توسعهدهنده اجازه میدهد مسئولیتهای مربوط به یک صفحه را بهصورت متمرکز مدیریت کند، بدون اینکه مجبور باشد برای هر قابلیت ساده، ساختار پیچیدهای از Controller و View ایجاد کند.
مدل صفحه میتواند دادههای مورد نیاز برای نمایش را آماده کند و به درخواستهایی مانند بارگذاری اولیه صفحه یا ارسال فرم پاسخ دهد. این رویکرد برای برنامههایی که ساختار آنها بر اساس صفحات مستقل شکل گرفته است، کاربردی است. آشنایی با نحوه سازماندهی فایلهای Razor و PageModel در کنار درک ارتباط آنها با یکدیگر، به برنامهنویسان کمک میکند صفحات وب را با ساختاری منظمتر توسعه دهند و تغییرات بعدی را آسانتر مدیریت کنند.
مدیریت فرمها و اعتبارسنجی دادهها در Razor Pages
فرمها بخش مهمی از بسیاری از وبسایتها هستند و برای دریافت اطلاعات کاربران، ثبت دادهها و اجرای عملیات مختلف به کار میروند. در Razor Pages، Model Binding امکان انتقال مقادیر ارسالشده از درخواست به ویژگیهای مدل یا پارامترهای مناسب را فراهم میکند. این قابلیت باعث میشود توسعهدهنده بتواند اطلاعات ورودی را در قالب ساختارهای مشخص دریافت کند و بهجای پردازش دستی تمام مقادیر درخواست، از امکانات داخلی ASP.NET Core بهره ببرد.
اعتبارسنجی دادهها نیز برای اطمینان از معتبر بودن اطلاعات دریافتی ضروری است. با تعریف قواعد مناسب برای مدلها میتوان بسیاری از ورودیهای نامعتبر را شناسایی کرد و پیامهای خطای مرتبط را به کاربر نمایش داد. البته اعتبارسنجی سمت سرور همچنان اهمیت اساسی دارد، حتی اگر در رابط کاربری نیز بررسیهایی انجام شود. ترکیب Model Binding و Validation به توسعهدهنده کمک میکند فرایند دریافت و پردازش دادهها را ساختارمندتر پیادهسازی کند و از ورود اطلاعات نامعتبر به بخشهای بعدی برنامه جلوگیری کند.
طراحی رابط کاربری قابل استفاده مجدد در Razor Pages
در پروژههای وب، تکرار کدهای مربوط به ساختار صفحات میتواند نگهداری رابط کاربری را دشوار کند. Razor Pages امکاناتی مانند Layout، Partial View و Section را ارائه میدهد تا بخشهای مشترک رابط کاربری در یک ساختار قابل استفاده مجدد قرار بگیرند. برای مثال، بخشهایی مانند ساختار کلی صفحه یا اجزای تکرارشونده را میتوان از محتوای اختصاصی هر صفحه جدا کرد. این جداسازی باعث میشود تغییرات ظاهری در بخشهای مشترک، بدون نیاز به اصلاح جداگانه تمام صفحات انجام شوند.
View Component نیز برای ایجاد اجزایی مناسب است که علاوه بر نمایش رابط کاربری، به منطق و آمادهسازی دادههای خود نیاز دارند. همچنین Tag Helperها نوشتن markup مرتبط با قابلیتهای ASP.NET Core را در فایلهای Razor سادهتر میکنند. شناخت تفاوت این امکانات به توسعهدهندگان کمک میکند برای هر بخش رابط کاربری راهکار مناسبی انتخاب کنند و میان قابلیت استفاده مجدد، خوانایی کد و پیچیدگی ساختار برنامه تعادل برقرار سازند.
سرفصل مطالب آموزش ویدئویی Razor Pages در ASP.NET Core
فصل اول: مقدمه دوره آموزشی
- مقدمه دوره آموزشی
فصل دوم: مفاهیم اصلی در Razor Pages
- فریم ورک Razor Pages چیست؟
- مقایسه Razor Pages و MVC
- بررسی Razor Syntax و Flow
- کار کردن با Razor
- بررسی معماری Razor Pages
- بررسی اپلیکیشن این بسته ی آموزشی
- بررسی اپلیکیشن در ویژوال استادیو
- کار کردن با اولین Razor Page
- جمع بندی
فصل سوم: ساختن Layout برنامه و Markup با Tag Helper ها
- نیاز به نوشتن Markup
- بررسی Tag Helper ها
- پیاده سازی Navigation با Tag Helper ها
- کار کردن Details Page برنامه
- بهبود کار با عکس ها
- مدیریت کردن Resource ها
- پیاده سازی Caching با Tag Helper ها
- جمع بندی
فصل چهارم: کار کردن با Form ها و Binding و Validation
- بررسی فرم های برنامه
- بررسی و درک کردن Form Workflow ها
- درک کردن هر چه عمیق تر Tag Helper ها
- ساختن Contact Form برنامه
- بررسی کردن Model Binding
- پردازش کردن یک فرم Submit شده
- درک هر چه بهترن Model Validation
- اعتبار سنجی کردن Form Data با Validation
- کار کردن با چندین فرم در برنامه
- جمع بندی
فصل پنجم: بررسی URL Routing و Page Flow
- بررسی کردن Page Flow برنامه
- بررسی کردن Action Result ها
- بهبود Page Flow با Action Result ها
- بررسی کردن Convention های Routing
- بررسی کردن Route Template ها
- بررسی کردن Route Constraint ها
- اضافه کردن Route Constraint ها
- ایجاد کردن یک Route Constraint سفارشی
- جمع بندی
فصل ششم: کار کردن با Partial View ها و Section ها و View Component ها
- نیاز به نوشتن Markup های قابل استفاده مجدد
- درک کردن Partial View ها
- استفاده کردن مجدد Markup ها با Partial View ها
- بررسی Section ها در Razor
- بررسی Layout ها پویا با Section ها
- بررسی View Component ها
- استفاده مجدد از Widget ها با View Component
- پیاده سازی View Component ها در Tag Helper ها
- جمع بندی
فصل هفتم: پیکربندی کردن و Deploy کردن برنامه Razor Pages
- بررسی Configuration و Deployment ها در سطح Application
- بررسی عملی Dependency Injection
- تقویت کردن Component ها با Dependency Injection
- دسترسی پیدا کردن با Service ها با Dependency Injection
- درک کردن هر چه بهتر Middleware ها
- کار کردن با Middleware ها
- بررسی موارد Deployment در Azure
- Deploy کردن وب اپلیکیشن با Azure
- جمع بندی


