
یادگیری سی شارپ از مفاهیم پایه تا پروژه محور: شیگرایی، کار با SQL و LINQ، ORMها (Entity Framework)، ساخت پروژه مدیریت رستوران با گزارشات حرفهای و امکانات کامل!
مشاهده بیشتر
یادگیری MVC Core از مبانی تا پیشرفته: شیگرایی، Routing، Entity Framework، امنیت، تست یونیت، Razor، Ajax، و پروژههای کاربردی! یک دوره کامل برای تسلط بر توسعه وب با ASP.NET Core. به صورت حضوری و آنلاین!
مشاهده بیشترمشخصات مقاله
آموزش کار با Action Selector در Asp.Net MVC
آموزش کار با انتخاب کننده متد (Action Selector) در MVC :
انتخاب کننده متد (action selector) خاصیتی است که می توان آن را برای متدها در Asp.Net MVC تعیین نمود. انتخاب کننده متد به موتور مسیردهی MVC یا routing engine کمک می کند تا متد اجرایی (action method) مناسب برای مدیریت هر درخواست را انتخاب کند. در زبان Asp.Net MVC5 سه نوع خاصیت مختلف برای انتخاب کننده متد (Action Selector) به شرح زیر داریم :
- نام متد (ActionName)
- NonAction
- ActionVerbs
آموزش کار با هخاصیت ActionName :
خاصیت ActionName به شما امکان می دهد تا یک actionname متفاوت از نام متد (method name) را برای مدیریت درخواست (Request) تعیین نمایید. برای درک بهتر، به کد مثال زیر دقت نمایید :
public class StudentController : Controller { public StudentController() { } [ActionName("find")] public ActionResult GetById(int id) { // get student from the database return View(); } }
در مثال عملی فوق، ما خاصیت ActionName(“find”) را برای متد اجرایی GetById تعیین کرده ایم. اکنون، نام متد اجرایی (action name) مقدار “Find” به جای “GetById” است. در نتیجه متد اجرایی فوق بر روی URL با آدرس http://localhost/student/find/1 به جای آدرس http://localhost/student/getbyid/1 اجرا خواهد شد.
آموزش کار با خاصیت NonAction :
خاصیت NonAction تعیین می کند که یک متد عمومی (public method) متعلق به یک کنترلر (Controller) به عنوان یک متد اجرایی (action method) عمل نکند.
در حقیقت از خاصیت انتخاب کننده NonAction زمانی استفاده می کنید که می خواهید یک متد عمومی (oublic method) در کنترلر خود داشته باشید، ولی این متد به صورت یک action method عمل نکند.
برای مثال، در کد عملی زیر، متد عمومی ()GetStudent را نمی توان به همان روشی که یک متد اجرایی (action method) را فراخوانی می کنیم، به کار ببریم :
public class StudentController : Controller { public StudentController() { } [NonAction] public Student GetStudnet(int id) { return studentList.Where(s => s.StudentId == id).FirstOrDefault(); } }
- موتور مسیردهی چهارچوب کاری ASP.Net MVC از خاصیت انتخاب کننده متدهای اجرایی (Action Method Selector) برای تشخیص این که کدام Action Method بایستی فراخوانی شده و درخواست ارسالی را اجرا نماید، استفاده می مکند.
-
سه مقدار مختلف برای انتخاب کننده متد در MVC5 به شرح زیر وجود دارد :
- نام متد (Action Name)
- هیچ متد Non Action
- Action Verbs
- از خاصیت ActionName برای تعیین یک نام متفاوت جهت Action نسبت به نام متد، استفاده می شود.
- به کار بردن خاصیت NonAction در یک متد عمومی (Public Method) در یک کنترلر باعث می شود این متد به یک متد غیر اجرایی تبدیل شده و قابل فراخوانی نباشد.
در درس بعدی به آموزش کار با خاصیت ActionVerbs در MVC خواهیم پرداخت.