معرفی Action Selector ها در MVC

پنجشنبه 25 خرداد 1396

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

معرفی Action Selector ها در MVC

Action Selector چیست؟

Action Selector در اصل یک صفت است که می توان آن را روی هر اکشن متدی در داخل کنترلر استفاده کرد. Action Selector به موتور مسیریاب برنامه کمک می کند تا برای درخواست های دریافت شده، متد صحیح و درست را انتخاب کند. در MVC5، Action Selector ها بسیار مفید و محبوب هستند. MVC5 دارای سه نوع Action Selector است.

1-  Action Name

2-  Non Action

3- Action Verbs

Action Name

صفت Action Name به ما این اجازه را می دهد تا یک نام برای اکشن انتخاب کنیم که این نام می تواند با نام متد تفاوت داشته باشد.به این معناست که شما می توانید URL مربوطه به Action Name تنظیم شده را فراخوانی کنید. برای مثال می توانید کد زیر را ببینید.



مثالی که در بالا نمایش داده شده است، یک Action Name با نام findid برای متد GetById تنظیم کرده است. بنابراین از این به بعد نام این اکشن به جای GetById نام انتخابی خودمان یعنی findid خواهد بود. این اکشن متد در صورتی که آدرس http://localhost/Employee/findid/1 را در مرورگر باز کنید فراخوانی خواهد شد و دیگر نیازی به استفاده از http://localhost/Employee/getbyid/1 نخواهد بود.

Non Action

صفتNon Action  به ما کمک می کند تا مشخص کنیم که یک متد public که در کنترلر داریم جز اکشن متد ها نیست و صرفا یک متد ساده است. استفاده اصلی صفت Non Action زمانی است که شما یک متد public در کنترلر خود داشته باشید ولی این متد رفتاری مانند اکشن متد ها نداشته باشد.

برای مثال متد public با نام GetEmployee نمی تواند مانند دیگر اکشن متد ها فراخوانی شود. کد نمونه در زیر قرار داده شده است.


Action Verb

Action Verb ها در API های جدیدتر بسیار پرطرفدار هستند. این صفت در اصل زمانی استفاده می شود که شما بخواهید یک اکشن متد را بر اساس نوع درخواست Http مدیریت کنید. در اینجا شما می توانید 2 اکشن متد متفاوت ولی با نام یکسان تعریف کنید، ولی یک اکشن متد زمانی که درخواست HTTP Get فرستاده می شود استفاده می شود و اکشن متد دیگر زمانی یک درخواست از نوع HTTP Post  فرستاده می شود، استفاده می شود.

معروف ترین Action Verb هایی که در چارچوب MVC پشتیبانی می شوند عبارتند از HttpGet، HttpPost، HttpPut، HttpDelete، HttpOptions و HttpPatch. در چارچوب MVC اگر شما از صفت خاصی روی متد استفاده نکنید، به صورت پیشفرض آن متد برای درخواست های GET در نظر گرفته می شود.

در کل متد های Http ارائه دهنده درخواست هایی هستند که شرایط ارتباط و اطلاعات مربوط به آن را دریافت کنند و این درخواست ها توسط Web Server پشتیبانی می شوند.

آموزش asp.net mvc

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید