An action method respond to user input and
return an action result. There are many derived ActionResult types in MVC
that you may use to return the results of an action method. These are more
specific for a particular view.
1. RedirectResult :-
Here, url you want to redirect is expressed
as a string and passed as a parameter to the Redirect method. Redirect
method send a temporary redirection.
public RedirectResult Index()
{
return Redirect("/Demo/Index");
}
We can send permanent redirection using RedirectPermanent.
public RedirectResult Index()
{
return RedirectPermanent("/Demo/Index");
}
2. RedirectToRouteResult :-
We can use routing system to generate valid url with RedirectToRoute method.
public RedirectToRouteResult Index()
{
return RedirectToRoute(
{
controller="Demo"
action="Index"
ID=5
});
}
For permanent redirection there is RedirectToRoutePermanent method.
RedirectToAction
We can redirect to an action method by using RedirectToAction method.
public RedirectToRouteResult Index()
{
return RedirectToAction("Index","Demo");
}
For permanent redirection there is RedirectToActionMethodPermanent method.
3. ContentResult :-
ContentResult is used for general purpose
such as Xml, RSS, ATOM, Text(Plain), CSV.
public ContentResult Index()
{
string message="Hi There!";
return Content(message);
}
4. JSONResult :-
JSONResult is used for JSON.
public JsonResult JsonData()
{
Storylink stories=GetAllStories();
return Json(stories);
}
5. FileResult :-
FileResult is concerned with sending binary
data to the browser.
public FileResult Report()
{
string fileName=@"c:\Report.pdf";
string contentType="application/pdf";
return File(fileName,contentType);
}
This action method cause browser to prompt
user to save the file.
6. HttpStatusCodeResult :-
We can send specific status code to the
browser using HttpStatusCodeResult.
public HttpStatusCodeResult StatusCode()
{
return new HttpStatusCodeResult(404,"url
can't be serviced");
}
Note: There is no Helper method
for this, so we must instantiate class directly
We can also achieve above code by using HttpNotFound method.
public HttpStatusCodeResult StatusCode()
{
return HttpNotFound();
}
HttpUnauthorizedResult indicates that request
is unauthorized.
public HttpStatusCodeResult StatusCode()
{
return new HttpUnauthorizedResult();
}