可能重复:
Advice on using ASP.net WebForms or MVC
How to decide which is right, WebForms or MVC when doing ASP.NET
我是网络开发和asp.net的新手......我正在浏览asp.net网站,并在stackoverflow中关于Webforms or MVC
的'n'问题....但仍然作为初学者可以不知道该选择什么?
答案 0 :(得分:9)
就考虑新项目的Web表单的具体原因而言:
1)如果您使用的是SharePoint。今天,SharePoint网站更自然地将Web窗体Web部件/页面集成到其中。 SharePoint团队希望将来能够添加MVC支持 - 但如果您的站点/解决方案今天与SharePoint集成,或者新版本即将发布,您将更容易找到Web表单。
2)如果您正在构建一个应用程序,其中现有的服务器控件或一组服务器控件可以帮助提供许多功能。对于许多报告方案(可以利用图表控件)以及涉及网格的数据编辑方案(可以利用数据控件),都是如此。还有一组丰富的服务器端控件,其中封装了AJAX功能,许多开发人员认为这些控件对常见场景非常有用。
3)在构建应用程序(通常是基于Intranet)的地方,您需要支持旧浏览器或具有排除现代JavaScript框架的严格可访问性要求,因此必须在服务器上放置大量UI逻辑。如果您不关心SEO(因为它是一个Intranet应用程序)并且不关心完全控制您的HTML,那么使用具有内置功能的控件可以提高工作效率。
就考虑MVC用于新项目的具体原因而言:
1)如果您正在构建面向公众的网站,其中SEO,语义URL / HTML以及对HTML的完全控制非常重要。虽然ASP.NET 4确实为Web Forms提供了许多新功能来实现这一点 - 但MVC仍然提供更多的完全控制。
2)如果您使用TDD工作流程和/或轻松单元测试您的应用程序。虽然您可以将MVP模式与Web窗体一起使用,但MVC提供了一种自然支持此功能的核心方法。
3)如果你想构建一个沉重的AJAX客户端应用程序,对MVC提供的HTML / URL的完全控制可能是一个优势。您仍然可以使用Web表单(特别是使用ASP.NET 4)来实现这一点 - 但是如果您想要总体客户端JS控制MVC可能是一个更具吸引力的选项。
4)如果您希望能够自定义/扩展Web框架的几乎每一层,ASP.NET MVC提供了必要的钩子。想要一个不同的视图引擎,集成一个IOC容器等 - 然后MVC提供了一些很好的钩子。
来自评论部分:
答案 1 :(得分:6)
重复重复!
What’s your choice for your next Asp.Net project: WebForms or MVC?
How to decide which is right, WebForms or MVC when doing ASP.NET
答案 2 :(得分:0)
如果要构建一个主要关注HTML,性能和可伸缩性的测试驱动Internet站点,ASP.NET MVC可能是更好的选择。
答案 3 :(得分:-1)
这两件事都适合开发,但这取决于你的场景你正在开发的东西。如果您通过快速开发开发新想法,我建议使用MVC。在MVC中,您的代码是可管理和可配置的。 MVC是可扩展的,没有性能问题。
我更喜欢MVC作为理想的开发方法/模式。