强类型ActionLink的注意事项

时间:2012-07-23 21:31:09

标签: c# asp.net-mvc

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

Strongly Typed ActionLink In Asp.Net MVC 2?

上面链接中的解释很简单,而且我对MVC内幕的知识足够薄,从表面上看,我很难放弃生成URL的首选方法。< / p>

所以我的问题:

  • MVC 3中是否有关于此状态的更新信息?
  • 在哪里可以更深入地解释其缺点?

3 个答案:

答案 0 :(得分:2)

我想也许你所寻找的答案可能是Phil Haack的blog post以及Rudi Benkovic的slide deck

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

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

答案 1 :(得分:2)

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

来自说明:

e.g。而不是

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

T4MVC允许你写

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

答案 2 :(得分:1)

关于它如何工作的描述非常明确:“给定这些信息并假设没有可扩展性挂钩,猜测哪条路由将触及此操作”。如果您不打算更改自定义应用程序使用路由的方式太多,那么您应该没问题。

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