【问题标题】:T4MVC or MvcFutures for strongly typed links in viewsT4MVC 或 MvcFutures 用于视图中的强类型链接
【发布时间】:2011-02-24 22:17:57
【问题描述】:

我正在尝试从我的 MVC3 项目中减少/消除“魔术字符串”,并且想知道哪种方法会更好:

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

    var title = "创建新客户";
    Html.ActionLink
        (c => c.Create(), title , new { @class= "button", title = title });
  2. 使用T4MVC

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

想法?

【问题讨论】:

    标签: c# asp.net-mvc-3 strongly-typed-view


    【解决方案1】:

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

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

    T4MVC 的唯一缺点是您需要使生成的代码文件保持最新。您可以通过保持 .tt 文件打开或安装将自动运行 .tt 文件的扩展程序(例如 Chirpy)来做到这一点。

    【讨论】:

    【解决方案2】:

    T4MVC 会表现得更好。您感兴趣的 MvcFutures 中的助手使用表达式,它应该比内置方法慢(这些方法不在核心 MVC 程序集中的原因之一)。一般来说,您应该知道 MvcFutures 可能存在性能和其他功能问题。

    【讨论】:

      猜你喜欢
      • 2010-12-25
      • 2011-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-23
      相关资源
      最近更新 更多