آموزش Action Selectors & ActionVerbs) ASP.NET MVC)
بسم الله الرحمن الرحیم
آموزش برنامه نویسی
اموزش ASP.NET MVC (Action Selectors & ActionVerbs)
----------------------------------------------------------------------------
با سلام و وقت بخیر
در این مقاله به مطالب زیر می پردازیم:
- Action Selectors چیست؟
- ویژگی های Action Selectors
- ActionVerbs چیست؟
اگر تاکنون آموزش ASP.NET MVC را در سایت ABLY و همراه با ما دنبال کرده باشید، آگاه هستید که آخرین مطلب آموزشی، آموزش Controller & Action Method) ASP.NET MVC) بوده است. قبل از آن نیز مطالب لازم برای درک و فهم ASP.NET MVC
را مطالعه نموده اید. اما ما باز در این مقاله این مطالب را به اشتراک میگذاریم که درک و فهم این آموزش راحتتر باشد.
بنابراین مطالب مرتبط زیر را بخوانید:
-
MVC چیست؟
-
آموزش ASP.NET MVC
-
آموزش ASP.NET MVC (ساختار پروژه)
-
آموزش Routing) ASP.NET MVC)
-
آموزش Controller & Action Method) ASP.NET MVC)
در این مقاله به اموزش ASP.NET MVC (Action Selectors & ActionVerbs) می پردازیم. امیدواریم که بازخورد کافی از این مطلب را ببرید. تا پایان این آموزش با ما همراه باشید.
بسم الله الرحمن الرحیم
آموزش برنامه نویسی
اموزش ASP.NET MVC (Action Selectors & ActionVerbs)
----------------------------------------------------------------------------
با سلام و وقت بخیر
در این مقاله به مطالب زیر می پردازیم:
-
Action Selectors چیست؟
-
ویژگی های Action Selectors
-
ActionVerbs چیست؟
اگر تاکنون آموزش ASP.NET MVC را در سایت ABLY و همراه با ما دنبال کرده باشید، آگاه هستید که آخرین مطلب آموزشی، آموزش (asp.net mvc (controller and action method بوده است. قبل از آن نیز مطالب لازم برای درک و فهم ASP.NET MVC را مطالعه نموده اید. اما ما باز در این مقاله این مطالب را به اشتراک میگذاریم که درک و فهم این آموزش راحتتر باشد.
بنابراین مطالب مرتبط زیر را بخوانید:
-
MVC چیست؟
-
آموزش ASP.NET MVC
-
آموزش ASP.NET MVC (ساختار پروژه)
-
آموزش Routing) ASP.NET MVC)
-
آموزش Controller & Action Method) ASP.NET MVC)
در این مقاله به اموزش ASP.NET MVC (Action Selectors & ActionVerbs) می پردازیم. امیدواریم که بازخورد کافی از این مطلب را ببرید. تا پایان این آموزش با ما همراه باشید.
Action Selectors
Action Selectors یک ویژگی است که می تواند بر روی متدهای Action اعمال شود. به این معنی که به موتور مسیریابی کمک می کند تا متد Action درست را برای رسیدگی به یک درخواست خاص انتخاب کند.
Action Selectors در MVC 5 شامل ویژگی های زیر است:
- ActionName
- NonAction
- ActionVerbs
ActionName:
AttributeName به ما اجازه می دهد یک نام عمل متفاوت از نام متد مشخص کنیم. مثال زیر را در نظر بگیرید:
public class StudentController : Controller
{
public StudentController()
{
}
[ActionName("find")]
public ActionResult GetById(int id)
{
// get student from the database
return View();
}
}
در مثال بالا، ما ویژگی ActionName("find") را روی متد GetById اعمال کرده ایم. یعنی می توانیم به جای "GetById"، Find را صدا بزنیم.
این درخواست میتواند در http://localhost/student/find/1 request instead of http://localhost/student/getbyid/1 فراخوانی شود.
NonAction:
از NonAction زمانی استفاده می کنید که می خواهید نشان دهید هیچ عملی بر روی متدها صورت نمی گیرد. به مثال زیر توجه کنید:
public class StudentController : Controller
{
public StudentController()
{
}
[NonAction]
public Student GetStudnet(int id)
{
return studentList.Where(s => s.StudentId == id).FirstOrDefault();
}
}
ActionVerbs:
از ActionVerbs زمانی استفاده می کنیم که بخواهیم متدهای Action را بر روی Http درخواست کنیم.
به طور مثال شما می توانید دو متد Action با یک نام ایجاد کنید اما یک متد به Http، درخواست "ارسال" و دیگری درخواست "دریافت پاسخ" می دهد.
MVC framework از ActionVerbs های مختلفی از جمله: HttpGet, HttpPost, HttpPut, HttpDelete, HttpOptions HttpPatch پشتیبانی می کند. که می توانیم براساس نیاز خود هر یک را بر روی متدهای Action اعمال کنید. در صورت استفاده نکردن از این ActionVerbs ها، ام وی سی به طور پیش فرض از HttpGet استفاده می کند.
تصویر زیر، HttpGet و HttpPost را نشان می دهد.
جدول زیر متدهای Http و کاربردهای آن ها را نشان می دهد:
Http method |
کاربرد |
GET |
برای بازیابی اطلاعات از سرور و اضافه کردن پارامترها در query |
POST |
ایجاد منبع جدید |
PUT |
آپدیت منابع موجود |
HEAD |
مانند متد GET است با این تفاوت که اطلاعات از سرور بازیابی نمی شوند. |
OPTIONS |
یک درخواست برای اطلاعات موجود در مورد گزینه های ارتباطی پشتیبانی شده توسط وب سرور را نشان می دهد. |
DELETE |
حذف منابع موجود |
PATCH |
به روز رسانی کامل یا جزئی منابع |
کد زیر نیز مثالی از این متدها است:
public class StudentController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult PostAction()
{
return View("Index");
}
[HttpPut]
public ActionResult PutAction()
{
return View("Index");
}
[HttpDelete]
public ActionResult DeleteAction()
{
return View("Index");
}
[HttpHead]
public ActionResult HeadAction()
{
return View("Index");
}
[HttpOptions]
public ActionResult OptionsAction()
{
return View("Index");
}
[HttpPatch]
public ActionResult PatchAction()
{
return View("Index");
}
}
شما همچنین می توانید این متدها را با هم ادغام کنید و با استفاده از ویژگی AcceptVerbs از آن ها استفاده کنید.
متد GetAndPostAction از هر دوی HttpGet و HttpPost پشتیبانی می کند. کد زیر را مشاهده کنید:
[AcceptVerbs(HttpVerbs.Post | HttpVerbs.Get)]
public ActionResult GetAndPostAction()
{
return RedirectToAction("Index");
}
به این طریق شما می توانید از Action Selectors و ActionVerbs در پروژه ASP.NET MVC خود استفاده کنید.
در آخر یک مرور کلی بر روی این مقاله می کنیم:
- موتور مسیریابی MVC با استفاده از Action Selectors مشخص می کند که کدام متد Action فراخوانی شود.
- Action Selectors شامل سه ویژگی ActionName، NonAction و ActionVerbs است.
- AttributeName به ما اجازه می دهد یک نام عمل متفاوت از نام متد مشخص کنیم.
- از NonAction زمانی استفاده می کنید که می خواهید نشان دهید هیچ عملی بر روی متدها صورت نمی گیرد.
- از ActionVerbs نیز زمانی استفاده می کنیم که بخواهیم متدهای Action را بر روی Http درخواست کنیم که این درخواست ها بیشتر بر پایه POST, GET, PUT است.
منبع: tutorialsteacher
"امیدواریم مقاله بالا موردتوجه شما قرار گرفته باشد"
"مجموعه ABLY"