
یادگیری سی شارپ از مفاهیم پایه تا پروژه محور: شیگرایی، کار با SQL و LINQ، ORMها (Entity Framework)، ساخت پروژه مدیریت رستوران با گزارشات حرفهای و امکانات کامل!
مشاهده بیشتر
یادگیری MVC Core از مبانی تا پیشرفته: شیگرایی، Routing، Entity Framework، امنیت، تست یونیت، Razor، Ajax، و پروژههای کاربردی! یک دوره کامل برای تسلط بر توسعه وب با ASP.NET Core. به صورت حضوری و آنلاین!
مشاهده بیشترمشخصات مقاله
آموزش کار با Action Verbs در Asp.Net MVC
آموزش کار با Action Verbs در Asp.Net MVC :
در این درس، به آموزش کار با خاصیت انتخاب کننده متد Action Verbs Method Selectors در چهارچوب کاری Asp.Net MVC5 خواهیم پرداخت.
از خاصیت انتخاب کننده متد ActionVerbs Selector در زمانی که می خواهید انتخاب یک متد اجرایی (Action Method) را بر حسب مقدار درخواست HTTP Request آن کنترل کنید، استفاده می شود. برای مثال، شما می توانید دو متد اجرایی متفاوت را با نام یکسان تعریف نمایید که یکی از آن ها به درخواست HTTP Get Request و دیگری به درخواست HTTP Post Request پاسخ دهد.
چهارچوب کاری MVC از چندین ActionVerbs مختلف مثل HttpGet، HttpPost، Httppost، HttpDelet، HttpOptions و HttpPatch پشتیبانی می کند. می توانید از این خاصیت ها برای تعیین این که هر متد اجرایی action method چه نوع درخواست Http Request ای را مدیریت و پشتیبانی کند، استفاده نمایید. اگر این خاصیت را به صورت صریح برای متدی تعیین نمایید، به صورت پیش فرض MVC در خواست متد را از نوع GET Request در نظر می گیرد.
در شکل زیر نحوه کارکرد در Action Verbs متفاوت HttpGET و HttpPost را در یک متد اجرایی نشان داده ایم :

همچنین جدول زیر ، کار برد هر یک از درخواست های http مختلف را نشان می دهد :
برای دریافت اطلاعات کامل تر درباره متدهای Http می توانید به سایت w3.org مراجعه نمایید.
مثال عملی :کد مثال زیر نشان می دهد متدهای اجرایی (action method) مختلف از خاصیت Action Verbs های متفاوت پشتیبانی می کنند :
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"); } }
شما همچنین می توانید با استفاده از خاصیت Accept Verbs، چندین http verbs مختلف از یک متد اعمال کنید. برای نمونه، در کد مثال زیر، متد GetAnd Post Action از هر دو Action Verbs های GET و POST پشتیبانی می کند :
[AcceptVerbs(HttpVerbs.Post | HttpVerbs.Get)] public ActionResult GetAndPostAction() { return RedirectToAction("Index"); }
- ActionVerbs نوع دیگری از انتخاب کننده های متد در MVC هستند که متدهای اجرایی را بر حسب نوع درخواست ارسالی به آن ها مثل GET، POST، PUT و ... انتخاب می کنند.
- متدهای اجرایی (action method) های مختلف می توانند نام های یکسانی داشته ولی نوع ActionVerb آن ها متفاوت باشد. همچنین قواعد فراخوانی چند حالته (overloading) در این قسمت حکم فرماست.
- می توانید با استفاده از خاصیت AcceptVerbs، چندین Action Verb متفاوت را به یک متد اجرایی اعمال نمایید.