首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.Net MVC vs ASP.Net表单

ASP.Net MVC vs ASP.Net表单
EN

Stack Overflow用户
提问于 2009-10-12 06:13:12
回答 3查看 1.5K关注 0票数 8

为什么您会考虑在web项目的窗体和控件中使用ASP.Net MVC或标准ASP.Net?除了个人喜好外,还有什么原因?你觉得哪种项目更适合MVC,什么项目更适合普通的ASP.Net?

您会考虑将当前项目转移到一个或另一个项目吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-10-12 06:49:08

WebForms是一个抽象概念,它对开发人员隐藏了web的机制。它允许桌面开发人员相对容易地将他们的技能转移到web上。虽然它确实在一定程度上实现了这一点,但在实际场景中,抽象通常很快就会被打破,人们不得不采取混乱的变通办法。单元测试是困难的,因为处理用户交互的逻辑与UI紧密耦合。典型的WebForms应用程序生成的超文本标记语言远不是最佳的。它通常是臃肿的,难以阅读的,并且包含大量的内容,这些内容只允许抽象工作,例如viewstate,这是一个巨大的信息斑点,帮助抽象给开发人员提供状态的错觉,即使web是一个无状态的媒介。

然而,MVC拥抱了web的机制。在web请求和响应中发生的基本操作作为简单的抽象呈现给开发人员。MVC具有明确的关注点分离。该模型简单地表示系统所关心的业务对象或实体,以及用于检索和存储这些对象的实例的方法。控制器接受web请求,对模型执行操作,然后将模型传递给视图。视图纯粹是一个渲染器,用于向用户呈现模型并公开允许用户制定下一个要传递给控制器的请求的界面项。这种关注点的分离允许相对容易的单元测试。开发人员可以完全控制生成的HTML,并且不需要存在其他工件(例如,视图状态)。

我更喜欢MVC。在极少数情况下,使用Webforms可能是有用的,例如快速原型或演示,但在其他情况下,我总是建议使用MVC。

至于将项目从Webforms转移到MVC,这显然是非常主观的,取决于应用程序本身和预算限制,但总的来说,我相信这是朝着正确方向迈出的一步。

票数 8
EN

Stack Overflow用户

发布于 2010-09-03 01:06:11

MVC Forms和ASP.NET是微软开发的两个Web框架--它们都是不错的选择。这两个web框架都不会被另一个取代,也没有计划将它们‘合并’成一个框架。持续的支持和开发是由微软并行完成的,两者都不会“消失”。

这些web框架各有优缺点--其中一些需要在开发web应用程序时加以考虑。web应用程序可以使用任何一种技术开发-它可以使特定应用程序的开发更容易选择一种技术,反之亦然。

ASP.NET网页表单:

  • Development支持状态·给人一种web应用程序知道用户正在做什么的错觉,类似于Windows应用程序。也就是说,使“向导”功能更容易实现。developer.
  • Rapid forms在对Web应用程序开发(RAD)隐藏了大量的复杂性方面做得很好·能够“跳进去”并开始交付web表单。一些MVC社区对此有争议,但这是由微软推动的。归根结底,这取决于开发人员的专业水平以及他们对什么感到满意。对于经验较少的developers.
  • Larger控件工具箱,Web窗体模型可能没有那么多的学习曲线·MVC web窗体提供了一个更大、更强大的工具箱(web控件),而jQuery 提供了一个更原始的控件集,它更多地依赖于通过ASP.NET web的富客户端控件·它自2002年就出现了,并且有大量关于问题和问题等的信息。它提供了更多的第三方控件-需要考虑您现有的工具包。

ASP.NET MVC:

关注点(

  • Separation of concerns,SoC)·从技术的角度来看,MVC中的代码组织是非常干净、有条理和细粒度的,这使得web应用程序更容易(希望)在功能方面进行扩展。从开发到与客户端工具(丰富的用户界面工具)的集成促进优秀的设计·web应用程序比以往任何时候都更加丰富,就像您在桌面上看到的应用程序一样。有了MVC,你就可以更轻松、更无缝地与这样的工具包(比如jQuery)集成了。网址对搜索引擎更友好(例如mywebapplication.com//1-检索ID为1的用户与mywebapplication/users/getuser.aspx (id传入会话))。同样,由于MVC是无状态的,这消除了从同一窗口产生多个web浏览器的用户的头疼问题(会话冲突)。同样,MVC遵循无状态web协议,而不是与需要高度控制的开发人员很好地对抗it.
  • Works。 web表单自动生成您在呈现页面时看到的大部分原始ASP.NET。这可能会给开发人员带来麻烦。使用MVC,您可以完全控制所呈现的内容,并且不会有任何意外。更重要的是,HTML通常比Web小得多,这等同于性能提升--这相当于严格意义上的consider.
  • Test驱动开发(TDD)·使用,您可以更容易地为事物的web端创建测试。额外的一层测试将针对意外行为提供另一层防御。

身份验证、授权、配置、编译和部署都是这两个web框架之间共享的功能。

票数 13
EN

Stack Overflow用户

发布于 2009-10-12 06:55:29

您可以发现与普通ASP.Net相比,ASP.Net MVC有许多不同之处和优点。

应用程序。如果没有,请访问堆栈溢出页面。

Biggest advantage to using ASP.Net MVC vs web forms

为您的应用程序选择MVC概念的原因有很多方面

  1. 您的应用程序有什么用途?无论是论坛、报告工具还是内部网website
  2. Whether,你想不想遵循设计模式?

如果是,那么是MVC还是其他的??

  • 对于未来的enhancements?

  • Whether,您是否需要模块化您是否需要对代码的完全控制?

  • 从开发人员的角度来看,对测试部分的更好支持应该存在还是不存在?

如果你对这些事情有把握,那么你可以把你的appln迁移到MVC框架模型。

否则,最好继续使用ASP.Net Web.apps,因为它包含了所有最新的

具有当前行业所需的特性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1552984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档