3

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

Asp.Net MVC 2 中的强类型 ActionLink?

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

所以我的问题:

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

3 回答 3

2

This does not answer any of your questions, but it possibly gives a nice alternative: Check out T4MVC

From the description:

e.g. instead of

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

T4MVC lets you write

@Html.ActionLink("Delete Dinner", MVC.Dinners.Delete(Model.DinnerID))
于 2012-07-24T00:12:32.690 回答
2

我想您正在寻找的答案可能在Phil Haack的这篇博客文章和Rudi Benkovic的这个幻灯片中。

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

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

于 2012-07-23T23:53:33.673 回答
1

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

如果要使用扩展方法,它仍然需要Futures 包。

于 2012-07-23T23:46:58.727 回答