Controller is the heart of MVC. It is the glue between View and Model. It accepts requests as input through action methods, while an action method may generate some response (for example, list page and details page) or perform some task (for example, add, update, and delete). Simply put, we can call Controller and a group of related Action Methods with set of applicable rules. And, it is responsible to manipulate data in form of Models and rendering of Views, as final result.



It is not required but we have a few conventions that are followed throughout the community. They are just followed as a best practice.

Action Method

Action Method is a unit of Controller. It is any public method and may have parameter of native or complex type, for example, Index or List Action Method may not have any parameter. Get Action Method may have a parameter as Id, and Update or Create Action Method may have complex ViewModel as parameter. Action Method parameters are populated using Model Binding, please refer to ASP.NET Core 1.0 MVC Model for more details on Model Binding. It is not a hard and fast rule, but in general, an action method performs the following set of tasks,

Additional Features

There are many other features related to Controllers like the following, but we will discuss them in different sessions in future,

Further Reading

For further details, please refer to official documentation at MSDN.