در قسمت های قبلی دوره ASP.NET CORE 8 در خصوص Controller ها به صورت کامل صحبت کردیم. و اتربیوت های آن را معرفی کردیم. در این آموزش قصد داریم تا Action Selector و Action Verbs ها را معرفی کنیم.
در فریمورک Asp.Net CORE سه نوع Action Selectors داریم که در ادامه به معرفی آنها میپردازیم و به شرح ذیل است.
همان طور که از نام آن مشخص است یک اکشن را از یک اکشن به یک متد ساده تبدیل میکند. و از خارج پروژه دیگر به آن دسترسی نخواهیم داشت.
[NonAction]
public IActionResult Index()
{
return View();
}
با استفاده از ActionName میتوانیم نام اکشن مورد نظر خود را تغییر دهیم. توجه داشته باشید که بعد از تغییر نام اکشن، فریمورک Asp.Net CORE دیگر قادر به شناسایی ویو نیست. باید نام ویو را به نام اکشن جدید در بیاورید و یا در قسمت return View نام ویو خود را وارد کنید. در مثال زیر نام اکشن Index را به AboutUs تغییر دادیم.
[ActionName("AboutUs")]
public IActionResult Index()
{
return View("Index");
}
ActionVerbs برای رسیدگی به درخواست های متفاوت Http استفاده میشود. چارچوب MVC شامل اکشن ورب های HttpGet، HttpPost، HttpPut، HttpDelete، HttpOptions و HttpPatch میباشد. همچنین می توانید یک یا چند ActionVerbs را به یک اکشن برای رسیدگی به درخواست های مختلف HTTP اعمال کنید.
توسط ActionVerbs میتوانیم متد های HTTP را برای اکشن های خود ست کنیم.
متد های HTTP در فریمورک Asp.Net CORE برای هیچ یک از اکشنها به صورت پیشفرض تنظیم نشده است. برای هر اکشن، شما باید متد یا متد های HTTP را به صورت صریح مشخص کنید. این کار با استفاده از attribute هایی مانند HttpGet، HttpPost، HttpPut، HttpDelete، HttpHead، HttpOptions و HttpPatch انجام میشود.
در مثال زیر به یک اکشن متد POST به دیگری متد GET و به آخری سه متد نسبت دادیم. توجه داشته باشید که برای نسبت دادن چند متد باید از اتربیوت AcceptVerbs استفاده کنید.
[HttpPost]
public IActionResult Index()
{
return View();
}
[HttpGet]
public IActionResult Privacy()
{
return View();
}
[AcceptVerbs("Post","Get","Put")]
public IActionResult Error()
{
return View();
}
HttpGet : این اکشن به صورت پیشفرض برای درخواستهای HTTP GET میباشد. این عملیات برای دریافت منابع از سرور استفاده میشود.
HttpPost : این اکشن برای درخواستهای HTTP POST میباشد. این عملیات برای ایجاد یک منبع جدید در سرور استفاده میشود.
HttpPut : این اکشن برای درخواستهای HTTP PUT میباشد. این عملیات برای بهروزرسانی یک منبع موجود در سرور استفاده میشود.
HttpDelete : این اکشن برای درخواستهای HTTP DELETE میباشد. این عملیات برای حذف یک منبع از سرور استفاده میشود.
HttpHead : این اکشن برای درخواستهای HTTP HEAD میباشد. این عملیات برای دریافت اطلاعات سرآیند منبع استفاده میشود.
HttpOptions : این اکشن برای درخواستهای HTTP OPTIONS میباشد. این عملیات برای دریافت گزینههای موجود برای یک منبع استفاده میشود.
HttpPatch : این اکشن برای درخواستهای HTTP PATCH میباشد. این عملیات برای بهروزرسانی جزئی یک منبع موجود در سرور استفاده میشود.
سلام وقت شما بخیر و خسته نباشید
لطفا این مباحث رو ادامه بدین هیچ جایی با این اندازه کامل و خوب تدریس نشده
مچکرم