There isn’t much difference between the two when using within the controller like you have in your example.
They both ultimately achieve the same goal. However, RedirectToRouteResult() is mostly used in an action filter type scenario seen here. It’s a little less friendly on the eyes when just using in your actions on controllers.
Both can achieve the same goal. The questions you need to ask yourself in most scenarios are really:
- Do I need the permanent redirect flag when using RedirectToRouteResult()?
- Do I want to write the extra code when using RedirectToRouteResult()?
If your answer is no or I don’t know,
RedirectToAction("Action", "Controller", new { parameter = value });
is probably your best bet!
EDIT:
Here’s some light on what RedirectToRouteResult is.
Reference to some MVC Redirects.
In this you will notice that RedirectToRouteResult is not something that you would normally call to return in an action. It is used as a return type for multiple RedirectToRoute calls. For instance, there are 2 calls you will see in that book. RedirectToRoute and RedirectToRoutePermanent.
They both return RedirectToRouteResult except, RedirectToRoutePermanent returns the result with the permanent redirect bool true. This returns a HTTP 301 status code.
Hope this helps!