I recently discover a nuget package called T4MVC and it has become a must-have on my tool belt. T4MVC helps eliminating magic strings in MVC and support strongly typed ActionResults. See their project site here.
In MVC, you have to use magic strings when specifying an action link.
E.g.
@Html.ActionLink("View detail", "Detail", "Article", new { id = Model.ArticleId }, null)
T4MVC has strongly typed helpers that helps replacing magic strings in MVC.
E.g. Instead of using magic strings as above, T4MVC will allow
@Html.ActionLink("View detail", MVC.Article.Detail(Model.ArticleId))
This means that, not only no magic strings are used, any spelling errors or null reference errors will be caught at compile time rather than runtime.
T4MVC requires you to re-run the custom tool every time you add, remove or modify any controller. However, there is an extension that will automatically rerun T4MVC on build. See their project site here for more details.