我目前正在学习“传统”ASP.NET,但是围绕ASP.NET MVC有很多讨论。我现在应该进入MVC,还是先了解传统的网络形式?
答案 0 :(得分:15)
进入MVC。现在。永远不要回头。
答案 1 :(得分:5)
如果您尚未学习ASP.NET Webforms,则必须问自己是否真的想学习Web开发。
ASP.NET MVC向您展示HTML,Javascript和CSS的喜悦/痛苦/美感/丑陋。 ASP.NET Webforms试图尽可能地隐藏所有这些。
就个人而言,我宁愿知道我的应用程序中发生的一切,即使这有时意味着更多的工作,这使我更喜欢ASP.NET MVC。
答案 2 :(得分:3)
开始使用asp.net webforms并转移到asp.net mvc我可以轻松地说我更喜欢asp.net mvc。有些人会喜欢webforms而有些人更喜欢mvc。 Webforms已经存在了很长时间,并且拥有一个非常丰富的社区,您可以下载和购买无数的用户控件。
Webforms对Winforms开发人员以及任何有过基于事件的编程经验的人都非常熟悉。然而,在我看来,Webforms是非常重量级的。它将羊毛拉到眼睛上,为您提供编写asp.net页面的体验,这些页面感觉像创建Windows应用程序一样。将控件拖到页面上(或自己编写标记)并注册OnClick等事件处理程序和数据绑定数据源等。
为了更好地掌握Webforms,您需要对asp.net页面生命周期和发生的所有事件有一个很好的理解。这对于确保您在页面生命周期的正确阶段将控件数据化,正确恢复视图状态等至关重要。这是一个webforms学习曲线。
正如其他人所说,MVC需要更多html,javascript / JQuery,CSS以及对模型,视图,控制器范例的一般理解。
虽然我相信asp.net webforms 4?在制作稍微清晰的html的道路上,你仍然遇到了臃肿的viewstate,丑陋的html等复杂页面的问题。
有什么好处的是使用像ASP.NET MVC这样的框架,然后利用一些webforms控件,如图表,报表服务器。不是像在asp.net mvc中那样直接将这些放在你的视图中,而是最好从MVC中抽象出webforms组件并让它们返回一个图像或FileContentResult或类似的东西。
答案 3 :(得分:2)
这是一篇非常好的文章,可以帮助您做出决定:http://weblogs.asp.net/shijuvarghese/archive/2008/07/09/asp-net-mvc-vs-asp-net-web-form.aspx
真的,虽然这取决于你想要做什么,虽然MVC看起来它将是前进的方向。
答案 4 :(得分:2)
我会说潜水首先进入ASP.NET MVC。您不需要学习WebForms详细信息来理解它,并且您将避免产生许多可能的坏习惯。 MVC在鼓励清洁编码和突出应用程序的痛点方面要好得多。
答案 5 :(得分:2)
如果您刚刚开始使用WebForms并且正在考虑使用MVC,那么我只会实现这一目标。在这一点上学习WebForms并不能真正帮助你,也可能会使你对MVC感到困惑。它是一个完全不同的开发模型,即使它使用相同的框架。
答案 6 :(得分:2)
我去年开始学习ASP.NET webforms。现在我沉浸在MVC开发工作中。我必须说我很欣赏对正在发生的事情有更多的控制和知识。我不知道花了多少时间来弄清楚webforms逻辑在幕后做了什么。使用MVC,您可以通过早期学习关注点分离来开始更好的编程概念。
答案 7 :(得分:1)
请查看以前的post,了解Web表单的一些功能和优点。
现在使用Web Forms已经有一段时间我会建议尝试使用MVC,它是一个很好的框架,比起初看起来更简单!
答案 8 :(得分:1)
我建议从MVC开始。 Webforms可以说是一个黑客攻击 - 尝试使用与winforms相同的事件模型使Web可编程。你可能会花费大量的时间来试图破解黑客。 MVC受益于清晰的关注点分离,更容易测试,并鼓励更好的架构。
你将失去的东西(至少现在)是“拖放”大量商业asp.net组件的能力,以及Visual Studio可能给你的设计师快捷方式。由于它是如此新颖,您可能也会限制您的工作前景(尽管您可能会更好地了解网络的运作方式)。
但是就这样说,我已经在MVC上工作了大约一年,回到webforms的想法让我感到寒意。
答案 9 :(得分:0)
明确地说,MVC在软件工程世界中是一个很有意义的东西。
当你在MVC中做东西时,你对MVC模式以及大多数MVC框架web工具(如asp.net mvc,Zend Framework等)变得更加熟悉,甚至可以构建或定制自己的...
< / LI>在Mvc中,有很多乐趣可以解释代码复杂性,因为您只需要在index.aspx上查看模型 - 您需要报告模型类或reportviewmodel,这样可以提高生产率,可读性和性能
asp.net中的MVC有很酷的插件,如twitter bootstrap,DI容器,UNIT TESTING - 这个非常棒,可以使用许多高级工具。