A controller is responsible for controlling the way that a user interacts with an MVC application . A controller contains the flow control logic for an ASP.NET MVC application. A controller determines what response to send back to a user when a user makes a browser request.