ActionResult is an abstract class that can have several subtypes.
1) ViewResult - Renders a specified view to the response stream.
2) PartialViewResult - Renders a specified partial view to the response stream.
3) EmptyResult - An empty response is returned.
4) RedirectResult - Performs an HTTP redirection to a specified URL.
5) RedirectToRouteResult - Performs an HTTP redirection to a URL that is determined by the routing engine, based on given route data.
6) JsonResult - Serializes a given ViewData object to JSON format.
8) ContentResult - Writes content to the response stream without requiring a view.
9) FileContentResult - Returns a file to the client.
10) FileStreamResult - Returns a file to the client, which is provided by a Stream.
11) FilePathResult - Returns a file to the client.