3 Answers
3

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()?

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.

It's almost the same but...
what happens when you work with a few custom routes? is an alternative that supports routes

with the second approach you work with the default route, but when you need use a specific route with 3 or 4 parameters, you can use the first approach and specified route name and with all parameters.

this kind of options you can find in helpers too, for example, a news paper site:

When u said 3-4 parameters and use 1st approach. But, you can set params in case of Approach 2 like this return RedirectToAction("Fileresult", "ActionResultTypes", new { id = 10 });
–
evevffvJun 5 '13 at 17:34

I edited the answer for explain a little bit more
–
Zach devJun 5 '13 at 17:49

I am new to MVC but have found that I am using a custom class Authenticate and one of the properties returns a RedirectToRouteResult. This class is not a controller (or derived from it) so RedirectToAction is not available and I would use RedirectToRouteResult.