可能重复:
What’s your choice for your next ASP.NET project: WebForms or MVC?在什么情况下,你比较喜欢ASP.NET webforms而不是MVC?
你能列举一些原因,这将使你使用ASP.NET web表单的一个新的项目,而不是MVC?我听到很多关于相反的事情,但不是通过webforms完成更容易或更好的事情。我并不是在讨论开发者偏好,而是在于技术特征以及他们如何映射到项目特征。
可能重复:
What’s your choice for your next ASP.NET project: WebForms or MVC?在什么情况下,你比较喜欢ASP.NET webforms而不是MVC?
你能列举一些原因,这将使你使用ASP.NET web表单的一个新的项目,而不是MVC?我听到很多关于相反的事情,但不是通过webforms完成更容易或更好的事情。我并不是在讨论开发者偏好,而是在于技术特征以及他们如何映射到项目特征。
WebForms唯一的参数是需要设计高度复杂(读取杂乱)的接口与大量相互关联的元素,全部或部分应该对其他元素的变化作出反应。
一个典型的例子是某些企业应用程序(来自SAP或更小的供应商)。它们通常具有与疯狂相接的界面。如果您使用的是MVC,则您将很难尝试使用JavaScript手动同步控件。借助WebForms,它变得非常容易。
构建这样的接口是否是一个好主意完全是另一回事。
在WebForms元素事件触发页面回发。他们访问相同的网址并进行统一处理。这使得架构非常具有可扩展性。
使用MVC来实现这一点,您必须设置一堆服务URL来处理来自不同控件的帖子,然后处理这些帖子并相应地更新视图模型。这一切都涉及很多欺骗和杂耍。并不是说它不可行 - 它是,但不是大规模。这种方法不可扩展。迟早你会达到理解你需要建立自己的框架,像WebForms这样的有状态的面向对象的HTML/HTTP抽象方向。
个人而言,我发现MVC非常适合管理页面。因为它们通常有一堆表格,并且用于数据输入和编辑。 MVC是为这些东西“制造”的,所以它的制作速度非常快。
webforms我用于更复杂的事情,如网站的用户端。我制作的网站显示人们可以学习的课程。注册一个课程是一个5步程序,在MVC中,我没有真正的想法如何去做。我确信它可以在MVC中完成,但我认为它在webforms中更好/更快。
但是最后我还是喜欢MVC。它感觉工作起来非常干净。
这取决于!
WebForms和MVC之间的区别是如果你可以TDD和控制完整的标记。
不完全是答案。它依赖于什么? – Slavo 2010-08-25 11:34:49
这取决于您拥有哪种类型的项目以及开发团队的工作方式。 – 2010-09-10 21:34:06
我唯一会考虑在新项目中使用Web窗体的时候,是否有为Web窗体创建的组件,它解决了使用MVC解决更难解决的特定问题。
除了一些不应该被禁止的技巧之外,我不能再看到Webforms比MVC更有优势了。
[本来我认为MVC与webcontrols不兼容,所以希望使用Dundas图表控件是不可能的。根据您的要求,使用webforms会是一个很好的参数。但我相信这不再的情况下,并且无论如何,您可以在你的MVC项目作为最坏情况的WebForms]
可能推我(回)有几件事情对的WebForms:
其中,可能CMS是我现在可以想到的要求,实际上使我使用WebForms。
谢谢。对于前三点,我猜LightSwitch会是你的方式:) – Slavo 2010-08-25 11:36:28
如果你只知道的WebForms MVC附带了一个学习的过程,所以你将需要花费相当长的一段时间的训练(或风险进行认真的安全性和性能的错误)
你需要一个小小的应用程序现在如果您选择反模式,那么在webforms中构建一个不需要的模拟应用程序可能会更快。例如。 SqlDataSource,逻辑在你的代码后面等。
丰富的控件 GridView是一个很好的控制,有排序等所有内置为你只需少量代码,只要你的自定义要求很小。
缺乏Web开发经验 Web表单更容易。它需要更多关注你的盘子。对于一个新手来说,这很好,因为它很难出错。尽管如此,如果你知道自己在做什么,或者有时间学习,并且想要建立一个持久的站点,那么MVC是非常好的。还有更多乐趣。
我会补充说,没有什么是错误与web窗体。完全可以用它来构建高性能的应用程序。自从它首次推出以来,时代已经发生了变化,MVC已经很好地解决了这些变化。
有一天,猪会飞,地狱会冻结,stackoverflow.com将不会再得到webforms与mvc问题。 :/ http://stackoverflow.com/search?q=mvc+vs+webforms – jfar 2010-08-25 13:19:09
我没有找到答案,我标记为接受任何其他问题。随意关闭,我觉得我问了一个理由,并得到了一个很好的答案。相似的事实并不总是意味着它是同一个问题。 – Slavo 2010-08-26 11:11:18
SO关闭无人机,欢迎光临。保存现金在Atwood口袋 – Jonathan 2010-08-27 10:30:07