دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۴
  • شهریور

جلسه ۰۶ : متدهای اجرایی ( Action method ) در ASP.NET MVC

  • دسته‌بندی‌ها :
جلسه ۰۶ : متدهای اجرایی ( Action method ) در ASP.NET MVC
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه :

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش ASP.NET MVC ، را دنبال می کنند. در بخش قبلی با Controller در ASP.NET MVC آشنا شدید ، در این بخش قصد داریم Action method در ASP.NET MVC یا متدهای اجرایی در ASP.NET MVC  را معرفی نموده و آنها را شرح دهیم. تا پایان این بخش همراه ما باشید.

      تمام متدهای عمومی یک کلاس کنترلر، Action نام دارند. این نوع متد ها دارای محدودیت هایی هستند:

      1. Action method ها باید public باشند و نمی توانند private یا protected  باشند.
      2. Action method نباید بیش از حد باشد.
      3. Action method نمی تواند متد static باشد.

      این مثالی از متد Index action در StudentController است:

      مثالی از action method

      همانطور که در شکل بالا می بینید، متد Index یک متد public است و ActionResult را با استفاده از متد () View به نمایش می گذارد.

      متد () View در کلاس پایه Controller تعریف شده است، که ActionResult مناسب را برمی گرداند.

      action method پیش فرض

      هر Controller می تواند متد پیش فرض action را به عنوان پیکربندی Route در کلاس RouteConfig داشته باشد.

      به طور پیش فرض، Index یک متد پیش فرض عمل برای هر Controller است. که به عنوان ریشه ی پیش فرض پیکربندی شده است که در زیر نشان داده شده است:

      مثال : 

      با این وجود در صورت نیاز، شما می توانید نام action پیش فرض را در کلاس RouteConfig تغییر دهید.

      چارچوب MVC شامل کلاس های مختلف result می شود که می تواند از یک متد action بازگردد.

      نتایج کلاس های result

      کلاسهای result انواع مختلفی از result ها مانند HTML، فایل، رشته، json، جاوا اسکریپت و غیره را نشان می دهد.

      جدول زیر تمام کلاس های result موجود در ASP.NET MVC را لیست می کند:

      Result Classتوضیحات
      ViewResultHTML و نشانه گذاری را نشان می دهد.
      EmptyResultپاسخی نشان نمی دهد.
      ContentResultنشانگر رشته ای است.
      FileContentResult/ FilePathResult/ FileStreamResultمحتوای یک فایل را شامل می شود.
      JavaScriptResultاسکریپت یک JavaScript را شامل می شود.
      JsonResultشامل JSON هایی که می تواند در AJAX پشتیبانی شود.
      RedirectResultشامل تغییر مسیر فعلی به یک مسیر جدید می شود.
      RedirectToRouteResultشامل action هایی از سایر کنترلر ها می شود.
      PartialViewResultHTML را از نمای Partial برمی گرداند.
      HttpUnauthorizedResultوضعیت HTTP 403 را برمی گرداند.

      کلاس ActionResult یک کلاس پایه ای از تمام کلاس های Result بالا می باشد.

      بنابراین متدهای action می تواند نتایج بالا را برگرداند.

      می توانید کلاس ActionResult را به عنوان یک نوع بازگشتی از متد action مشخص کنید.

      متد  () index ساختار StudentController در شکل فوق، از متد ()View برای برگرداندن ActionResult استفاده می کند.

      متد () View در کلاس Controller پایه تعریف شده است.

      متدهای بیشتر

      همچنین متدهای متفاوتی است که به طور خودکار نوع خاصی از نتایج را که در جدول زیر اشاره شده، نشان می دهد:

      Result ClassDescriptionBase Controller Method
      ViewResultHTML و نشانه گذاری را نشان می دهد. () View
      EmptyResultپاسخی نشان نمی دهد.
      ContentResultنشانگر رشته ای است. () Content
      FileContentResult,
      FilePathResult,
      FileStreamResult
      محتوای یک فایل را شامل می شود. () File
      JavaScriptResultاسکریپت یک JavaScript را شامل می شود. () JavaScript
      JsonResultشامل JSON هایی که می تواند در AJAX پشتیبانی شود. () Json
      RedirectResultشامل تغییر مسیر فعلی به یک مسیر جدید می شود. () Redirect
      RedirectToRouteResultشامل action هایی از سایر کنترلر ها می شود. () RedirectToRoute
      PartialViewResultHTML را از نمای Partial برمی گرداند. () PartialView
      HttpUnauthorizedResultوضعیت HTTP 403 را برمی گرداند.

      همانطور که در جدول بالا مشاهده می کنید، متد ViewResult نتایج View Returns را باز می گرداند.

      متد محتوا به رشته بازگردانده می شود، File method محتویات یک فایل را باز می کند و…

      از متدهای مختلف ذکر شده در جدول فوق استفاده کنید تا انواع مختلفی از نتایج را از یک متد action باز گردانده شود.

      پارامترهای متد action

      هر متد action می تواند پارامترهای ورودی را در قالب متدهای نرمال دریافت کند.

      این می تواند نوع داده اولیه یا پارامترهای پیچیده یک نوع باشد که در مثال زیر نشان داده شده است:

      مثال : 

      توجه داشته باشید که پارامترهای متد action می تواند نوع NULL باشد.

      به طور پیش فرض، مقادیر پارامترهای متد action از جمع آوری داده های درخواست شده بازیابی می شوند.

      داده های جمع آوری شده شامل نام / ارزش برای داده های فرم یا مقادیر رشته یا مقدار کوکی می باشد.

      نکات زیر را به خاطر بسپارید:

      ۱- تمام متدهای public در کلاس Controller متدهای Action نامیده می شود.

      ۲- متدهای Action محدودیت های زیر را دارند:

      • متدها باید public باشند و نمی توانند private یا protected باشند.
      • متدهای Action نباید بیش از حد باشند.
      • متدهای Action نمی توانند static باشند.

      ۳- ActionResult یک کلاس پایه برای انواع نتایج بازگشتی از متد Action است.

      ۴- کلاس Controller پایه شامل متدهایی از جمله ()View(), Content(), File(), JavaScript است که نتیجه ی مناسب را بر می گرداند.

      ۵- متدهای Action می تواند شامل مقادیر NULL باشد.

      کلام آخر

      در مباحث فوق با کلاس Action و همچنین با انواع متدهای Action و کاربردهای آن ها در ASP MVC آشنا شدید، در بخش بعد شما را با انتخابگرهای Action آشنا خواهیم کرد.

      QR:  جلسه ۰۶ : متدهای اجرایی ( Action method ) در ASP.NET MVC
      به اشتراک بگذارید