c# - T4MVC 或 MvcFutures 用于 View 中的强类型链接

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

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

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

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

哪个选项更灵活、性能更好、在重构等方面更容易?

想法?

最佳答案

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

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

T4MVC 的唯一缺点是您需要使生成的代码文件保持最新。为此,您可以保持 .tt 文件处于打开状态或安装可自动运行 .tt 文件的扩展程序(例如 Chirpy)。

关于c# - T4MVC 或 MvcFutures 用于 View 中的强类型链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5111212/

相关文章:

asp.net-mvc - ASP.NET MVC,强类型 View ,部分 View 参数故障

javascript - 如何使用参数 AngularJs onChange 下拉值

asp.net-mvc-3 - 想通过 _layout 将 @renderbody() 放入局部 View 源中

asp.net-mvc - 如何将数据传递给 mvc asp.net 中的 View ?

javascript - MVC - 编码错误的 JS 警告消息

asp.net-mvc - 为什么我的 View 模型中的内部成员无法在 View 中访问?

.net - ASP.NET MVC 强类型 View 编译错误

c# - 我如何判断 IOException 是否是由另一个进程使用该文件这一事实引起的?

c# - 如何从 Ado.net 捕获 SQL Server 错误

c# - DbSet 和 ObservableCollection 之间的转换