【问题标题】:Considerations for strongly typed ActionLink强类型 ActionLink 的注意事项
【发布时间】:2012-07-23 21:31:09
【问题描述】:

我一直在尝试查找有关在 Futures 中首次亮相的强类型 ActionLink 辅助方法的更多信息。我知道使用它有一些很大的缺点,但想了解更多。我找到的最好的链接是这个。

Strongly Typed ActionLink In Asp.Net MVC 2?

上面链接中的解释足够简短,而且我对 MVC 底层知识的了解也足够薄,以至于我很难丢弃从表面上看似乎是生成 URL 的更可取的方法。

所以我的问题:

  • 在 MVC 3 中是否有任何关于此状态的更新信息?
  • 还有什么地方对其缺点进行了更深入的解释?

【问题讨论】:

    标签: c# asp.net-mvc


    【解决方案1】:

    我认为您正在寻找的答案可能在 Phil Haack 的 blog post 和 Rudi Benkovic 的 slide deck 中。

    基本上,这是一个性能问题。当使用花哨的表达式语法与“魔术字符串”语法时,ASP.NET MVC 需要大约 30 倍的时间来确定链接的路径。

    您可能会发现性能权衡是值得的。如果没有,T4MVC 可能是您能找到的最佳选择。

    【讨论】:

      【解决方案2】:

      这并不能回答您的任何问题,但它可能会提供一个不错的选择: 查看T4MVC

      来自描述:

      例如而不是

      @Html.ActionLink("Delete Dinner", "Delete", "Dinners", new { id = Model.DinnerID }, null)
      

      T4MVC 让你编写

      @Html.ActionLink("Delete Dinner", MVC.Dinners.Delete(Model.DinnerID))
      

      【讨论】:

        【解决方案3】:

        您链接到的有关其工作原理的描述非常清楚:“鉴于此信息并假设没有可扩展性挂钩,请猜测哪个路由将执行此操作”。如果您不打算过多地更改自定义应用程序使用路由的方式,那应该没问题。

        如果你想使用扩展方法,它仍然需要Futures Package

        【讨论】:

          猜你喜欢
          • 2011-01-23
          • 1970-01-01
          • 2010-09-18
          • 1970-01-01
          • 1970-01-01
          • 2013-07-16
          • 2010-11-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多