Skip to main content

ASP.NET MVC ACTION SELECTORS AND ACTION VERBS


ASP.NET MVC ACTION SELECTORS AND ACTION VERBS

Action Selectors

Action Selector is basically an attribute, which you can apply on any action method in MVC Controller. It helps your routing engine to select the correct method to handle the particular request. In MVC 5, Action Selectors are very helpful and popular. MVC 5 includes 3 Action Selectors attributes.
1.     NonAction
2.     ActionName
3.     ActionVerbs

NonAction

Non Action selector attribute helps us to indicate that our public method of a Controller is not an Action method. The main use of Non Action attribute is when you want public method in a Controller, that is not treated it as an Action method. We create a nonaction for the purpose of code reusability in our controller class.
Example
nonaction method

ActionName

ActionName attribute is used to change the name of the action at runtime. In another word, Action Name attribute allows us to specify the different Action Names rather than method names. It means that you can hit URL in the Browser by your Action Name rather than the method name given above on your Action Result method. The example is given below.
actionname method


Action Verbs

Action Verbs are very popular nowadays in APIs. This selector is basically used when you want to control the Action method based on Http request method. Here, you can define two different Action methods with the same name but one Action method acts or responds to HTTP Get request method and another Action method responds to HTTP Post request method.
The famous Action Verbs supported by MVC framework are HttpGet, HttpPost, HttpPut, HttpDelete, HttpOptions & HttpPatch. Http Method represents a request for the information about its communication options, which are supported by the Web Server.
We can’t overload our action methods like we do in C#. But with the help of action verbs, we can overload our action method. We select a different action method depending upon the request with the help of action verbs.
Here, in ASP.NET MVC, we have few action verbs but they are extensively used in Web APIs. But here, in MVC, we normally use two action verbs.
  • HttpGet
    It is used to handle GET Request.
  • HttpPost
    It is used to handle POST Request.
But if you don’t apply any action verb, then this action will be treated as GET request action as shown below.

action verb methods

The image above shows example of both GET and POST Verbs on Edit Action Method.

There are some other types of Actions verbs which also exist like
HttpPut for updation and HttpDelete for deletion
There are some key points to keep in mind.
  • Action methods can’t be private or protected, they must be public.
  • Action methods can’t be static.
Thank you



Comments