我对asp .net mvc动作链接感到恼火?在MVC3中有更好的东西吗?

时间:2011-01-09 21:37:04

标签: asp.net-mvc

用mvc差不多3年后,我正在摸不着头脑。它只是我,还是我们在asp .net mvc suck中指定链接的方式?

@Html.ActionLink("Log Off", "LogOff", "Account")

@Html.ActionLink("Australia", "CountryDetail", "Places", new { id = "Australia", filter = "xxx", morejunkvaliablesrepeatedoverandaver = "guuuuuuuuh"}, null)

在mvc 1的预览中,我们有了时髦的通用动作链接,它给了我们智能感知和编译检查,我很喜欢。我知道他们因为性能问题而删除它们,因为你实际上无法保证路由会一直解决......但是这样做的默认方式并不能让我在大型应用程序中感到安全。

我也使用过T4Mvc和MVC2,说实话,我真的不喜欢它。它不是Mvc框架的一部分,并且特别是在大型团队和持续集成构建中使用源代码控制进行开发令人沮丧。

我想我也可以导入Mvc Futures并继续使用泛型类型(这可能就是我要做的)。

我即将开始一个非常大的项目,并想知道其他人在想什么?是否有其他人对选项感到恼火或有新的解决方案?

似乎ActionLinks是最基本的&经常使用的功能。不应该有一个开箱即用的解决方案,我们即将达到这个框架的第3版。

4 个答案:

答案 0 :(得分:4)

我一开始也不喜欢这个。也试过T4MVC。生成的代理类感觉太麻烦了。

然后我意识到了什么 如果您的视图和控制器明显被命名和构造,那么他们就永远不会改变。

最好让一切都变得容易理解,而不是试图让一切都超级安全。理解principle of least astonishment是关键。

所以我不再关心这些“神奇的字符串”了。

答案 1 :(得分:0)

就我个人而言,我使用MVC Futures帮助器来避免视图中的魔术字符串,希望有一天微软会找到一些时间将它们合并到框架中。

答案 2 :(得分:0)

如果您愿意,请查看其他网络框架并窃取他们的一些想法。

答案 3 :(得分:0)

我从FubuMVC抢劫了HtmlTags库,并使用它来生成与HTML相关的任何内容。这是我写的关于它的post。没有任何泛型,但至少你不必再记住所有的重载,它可以很好地与T4MVC一起使用。

Html.LinkToAction("Edit").Text("Edit").AddClass("navigation")

VS

Html.ActionLink("Edit", "Edit", null, new { @class = "navigation" })