关于ASP.NET WebForms和ASP.NET MVC之间的差异的文章和讨论很多,它们比较了两个框架的相对优点。
对于自从使用WebForms之后就转移到MVC的任何人,我都有一个不同的问题:
WebForms拥有的,MVC没有的,您真正想念的第一件事是什么?
编辑
没有人提到过WebForms验证控件。我现在正在处理一些具有一些从属验证规则的代码,并证明为这些实现客户端验证很慢。
最佳答案
作为PHP /经典ASP的人,大约5年前,我进入了Webforms世界。在必须使用脚本语言手动编码诸如表格网格,日历等内容之后,似乎Webforms将是一个巨大的 helper 。直到您需要一点定制之外,除了交替的行颜色等等。是的,您可以运行带有一些拖放 Action 的gridview。但是即使自定义看起来很简单的东西,也可能要花费数小时的酷刑和研究。
我还认为,.NET在线中给出的许多示例由于简化了Web表单的效果而被过度简化了。当然,您可以使该gridview只显示100,000条记录表中的10条记录,但是您是否意识到默认情况下所有记录都已加载到内存中?作为纠正该问题过于复杂的一个示例,我花了一段时间创建一个可分页的网格 View ,该 View 仅加载记录的一部分,但不起作用。经过一个小时的研究,我发现您必须删除IDE插入到代码背后的额外属性。当像这样的愚蠢的东西让你落后时,这不好玩。
而且在任何时候,它都会发生。
甚至不要让我开始使用viewstate。
但是随后乌云密布,.NET MVC交给了我们。现在,这是一个框架。如果您是Web开发人员,则应该知道当有人向您的Web服务器发出请求时发生了什么。 Webforms最重要的抽象概念和层层是有害的。
在大多数情况下,我能够以PHP脚本编写的速度开发应用程序,并且最终可以完全控制UI。那就是关于它的一切。
另外请注意:人们发现需要使用标签之类的东西时,不必停止抱怨他们在MVC View 中创建“标签汤”。将您的gridview拖放到页面上,设置所有属性,然后查看它给您的废话。而且您的工作还没有完成,现在您必须附加事件并将更多与Gridview相关的代码放入代码文件中。谈论搞乱编码体验。我每天都会进行一个简单的foreach循环。
关于asp.net - ASP.NET MVC用户-您会从WebForms中错过任何内容吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/759863/