ASP.NET MVC中强类型ActionLink的变通方法

mli*_*bby 1 asp.net-mvc

鉴于强类型ActionLink不可行(在Asp.Net MVC 2中强类型ActionLink?),我们不能做类似的事情:

<%: Html.ActionLink<HomeController>(x => x.Index(), "Home") %>
Run Code Online (Sandbox Code Playgroud)

我正在考虑使用任何类static readonly string或资源文件作为解决方法.这将获得一定程度的编译时间检查,允许重命名而不使用查找/替换,甚至(在某些疯狂的世界中)允许本地化.在缺点方面,它需要有关可用控制器和操作的重复信息.

<%: Html.ActionLink(Controllers.Home, HomeActions.Index, HomeActions.IndexTitle) %>
Run Code Online (Sandbox Code Playgroud)

有没有其他方法来处理这个改进使用魔术字符串的不优雅默认值?

Dan*_*ite 5

T4MVC将为您做到这一点.