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

时间:2011-06-15 12:47:28

标签: asp.net-mvc

鉴于强类型ActionLink不可行(Strongly Typed ActionLink In Asp.Net MVC 2?),我们无法执行以下操作:

<%: Html.ActionLink<HomeController>(x => x.Index(), "Home") %>

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

<%: Html.ActionLink(Controllers.Home, HomeActions.Index, HomeActions.IndexTitle) %>

对于处理此问题的其他方法的任何建议都会改善使用魔术字符串的不正常的默认值吗?

2 个答案:

答案 0 :(得分:5)

T4MVC会为你做这件事。

答案 1 :(得分:3)

您可以使用T4 Templates。或者MVCContrib包含帮助程序,这些帮助程序允许您使用与您在问题中显示的完全相同的语法:

<%: Html.ActionLink<HomeController>(x => x.Index(), "Home") %>