Given that strongly typed ActionLink is not viable ( Strongly Typed ActionLink In Asp.Net MVC 2? ) and we cannot do something like:
<%: Html.ActionLink<HomeController>(x => x.Index(), "Home") %>
I am considering using either classes of static readonly string or resource files as a workaround. This would get some level of compile time checking, allow for renaming without using find/replace, and even (in some crazy world) allow for localization. On the downside, it requires duplicate information about available controllers and actions to work.
<%: Html.ActionLink(Controllers.Home, HomeActions.Index, HomeActions.IndexTitle) %>
Any suggestions for other ways to handle this that improves on the inelegant default of using magic strings?
T4MVC will do this for you.