T4MVC或MvcFutures用于视图中的强类型链接

zam*_*6ak 3 c# strongly-typed-view asp.net-mvc-3

我试图减少/消除我的MVC3项目中的"魔术字符串",并想知道哪种方法会更好:

  1. 使用MvcFutures并执行以下操作:

    var title = "Create New Customer"; 
    Html.ActionLink
        (c => c.Create(), title , new { @class = "button", title = title });
  2. 使用T4MVC

哪个选项更灵活,性能更高,重构时更容易等等?

思考?

Mor*_*ner 5

T4MVC,没有比赛.它允许您使用(代码生成的)嵌套类和属性的层次结构来引用视图和控制器操作.这种方法有几个好处 - 可以很容易地发现可用的选项,并且它提供了最佳的性能(与用于强类型的lambda方法相比,肯定是一个巨大的胜利).

使用T4MVC的虚拟ActionResult类编写自己的扩展也很容易.例如,我有一些ActionImage帮助程序,它们提取必要的路由信息​​以生成结果标记.

T4MVC唯一的缺点是你需要保持生成的代码文件是最新的.您可以通过保持.tt文件打开或安装将自动运行.tt文件的扩展名(例如Chirpy)来完成此操作.