23

我知道有很多人非常喜欢 ASP.NET MVC 2 在第一个版本中所做的改进。我刚刚开始迁移我们的 MVC 1 项目,到目前为止,区域已经完全清理了我们在大型应用程序中的子文件夹混乱。当我深入研究所做的所有改进和更改时,我仍然在想,如果他们在这个版本中有 x,那就太好了。例如,如果他们内置某种依赖注入而不是使用第三方解决方案,我会喜欢它。

我真正的问题是现在 ASP.NET MVC 2 已经大行其道,团队希望/希望实现哪些功能并希望他们为 ASP.NET MVC 3 实现哪些功能?

编辑

看起来依赖注入是为 ASP.NET MVC 3 的第一个预览版内置的!我喜欢到目前为止添加的功能。ASP.NET 3 预览版发布了!

4

16 回答 16

10

我认为 MVC 3 的改进不会太戏剧化,而是更加稳定和渐进。

ASP.NET MVC 3 路线图提供了团队显然正在考虑在下一个版本中实现的内容的快照,其中一些要点非常有趣。

我认为该列表中我最喜欢的可能是:

  • 更多 AJAX 助手:这将使框架更符合已经拥有所有这些助手的 Webforms 世界,并且在某种程度上成为了某些人使用该平台的障碍。
  • 更多依赖注入的东西——对于那些想要它的人来说,这很棒。:)
  • 改进的缓存支持对我来说是一个巨大的胜利。将其内置到框架中将是一个很大的好处,并且可能会带来一些不错的性能节省。
  • 额外的 ValidationAttributes 也不会错过。虽然添加它们的工具非常棒,但还有一个很好的常用库,例如​​ Email 和 PropertiesMustMatch 等。
于 2010-03-25T19:33:02.617 回答
8

我想完全删除所有魔术字符串。

于 2010-03-31T13:53:01.917 回答
6

我真的希望他们添加以下内容:

  1. 使用 html 标签属性的 Spark 风格的条件和循环。
  2. 更新:用于切换视图的编译时验证的可见项目属性。
  3. 验证/验证我的路线是否正确的东西。
  4. 使用 int 而不是 Guid 进行标识并允许将配置文件字段映射到自定义表而不是通用但缓慢的默认值的成员资格提供程序解决方案。
  5. 避免魔术字符串的基于 Lambda 的助手(目前在 MvcFutures 中)
  6. 用于自动生成强类型帮助器的 T4MVC 模板
  7. 项目向导或模板,以获取已经为 IoC 和类似问题设置的模板,最好带有选择对话框来选择用于 IoC、单元测试等的框架。
  8. 附加属性(过滤器和验证)。

嗯,这就是我现在能想到的:)

于 2010-03-25T19:27:13.533 回答
4

为单元测试创​​建 Moq 对象的工具(T4 模板)将非常酷。对框架中的某些对象进行测试是不必要的复杂,并且能够对其中的一些进行代码生成将是非常有益的。

于 2010-03-25T19:27:44.343 回答
4

我想:

工装

  • 使用 ajax 的替代列表视图,例如使用 jqGrid(实现排序、分页、搜索)
  • 对 CRUD 页面的增强检测实体框架类的实体关系,并使用基于字段类型的另一组组件,例如就像动态数据一样:)
于 2010-03-25T22:22:51.020 回答
2

由于 ASP.net MVC 3 将仅是 .net 4,我希望看到一些关于异步控制器的内容以及 .net 4 带来的所有其他新的异步/多线程功能。

于 2010-03-25T22:25:28.170 回答
2

我希望看到对 IronRuby 之类的内置支持

于 2010-03-26T13:09:37.100 回答
2

MEF 支持会很好。

于 2010-04-15T17:32:17.563 回答
2

我希望看到一种处理路由的新方法,以便更轻松地开发 REST 服务。目前我有这样的路线:

context.MapRoute(null,
                 "api/posts",
                 new { controller = "Post", action = "Get" },
                 new { httpConstraint = new HttpMethodConstraint("GET") });


context.MapRoute(null,
                 "api/posts",
                 new { controller = "Post", action = "Insert" },
                 new { httpConstraint = new HttpMethodConstraint("POST") });


context.MapRoute(null,
                 "api/posts/{id}",
                 new { controller = "Post", action = "Update" },
                 new { httpConstraint = new HttpMethodConstraint("PUT") });


context.MapRoute(null,
                 "api/posts/{id}",
                 new { controller = "Post", action = "Delete" },
                 new { httpConstraint = new HttpMethodConstraint("DELETE") });

对于使用 ASP.NET MVC 的新手来说,创建匿名对象来处理路由是非常不直观的。我希望看到它被修改成这样(因为我们使用的是 C# 4.0):

context.MapRoute("api/posts",
                 controller: "Post",
                 action: "Get",
                 httpMethodConstraint: HttpMethodConstraint.GET
                );

context.MapRoute("api/posts",
                 controller: "Post",
                 action: "Insert",
                 httpMethodConstraint: HttpMethodConstraint.POST
                );

context.MapRoute("api/posts/{id}",
                 controller: "Post",
                 action: "Update",
                 httpMethodConstraint: HttpMethodConstraint.PUT
                );

context.MapRoute("api/posts/{id}",
                 controller: "Post",
                 action: "Delete",
                 httpMethodConstraint: HttpMethodConstraint.DELETE
                );

这也将使它更容易被发现。

于 2010-12-17T19:45:13.293 回答
1

我想要自动脚手架索引视图的助手。也许像IndexDisplay(),IndexDisplayFor()IndexDisplayForModel()

于 2010-03-25T22:30:45.097 回答
1

我想在任何给定模型上自动生成伙伴类的模板。

于 2010-03-30T08:38:22.623 回答
1

我也使用简单功能,就像大多数没有帮助的东西一样,比如 html-helper 我认为在 asp.net MVC 3 中开发是将来学习 MVC 3 的更好方法。

于 2010-07-27T16:51:18.663 回答
1

我最希望看到的两件事是视图、过滤器等中的直接依赖注入,并且(我知道这应该是 Razor 视图引擎的方式)是能够独立于测试我的视图ASP.Net 管道(可能包括文档类型验证和/或某种类型的 JavaScript 编译/验证)。

这里有一些其他的想法:

  • 如果能够打包一个 UI 组件(视图、模板、视图模型等)以便在多个项目中重用,那就太好了。我猜这目前以某种方式是可能的,但我只是不需要它来自己弄清楚。
  • 无控制器操作的想法让我很感兴趣,尤其是从 SRP 的角度来看。
  • 更好地支持 Post-Redirect-Get (P/R/G) 模式……似乎应该对这个非常重要的模式提供内在支持。
于 2010-08-31T18:48:01.767 回答
0

更多的控件和助手会非常好,尤其是(ajax)网格。

于 2010-07-24T08:07:47.260 回答
0

我希望看到区域程序集支持(我的意思是许多具有不同区域的程序集)+动态加载,比如插件。

编辑:我们今天有预览 1:http ://weblogs.asp.net/scottgu/archive/2010/07/27/introducing-asp-net-mvc-3-preview-1.aspx

有人开心吗?:>

于 2010-07-27T16:10:34.377 回答
0

Asp.net MVC 3 Preview 1 也刚刚在http://weblogs.asp.net/scottgu/archive/2010/07/27/introducing-asp-net-mvc-3-preview-1.aspx公布

于 2010-07-27T16:59:40.860 回答