2008-09-03 70 views
21

作为一个有一些winforms和客户端应用程序经验的人 - 值得回顾并学习传统的ASP .NET页面的工作方式,还是可以直接进入ASP .NET MVC?传统的ASP .NET Web窗体与MVC

我在寻找一般C#的知识中的陷阱或陷阱,我不知道从屏幕视频系列和ASP .NET网站上的东西。

+0

另请参阅http://stackoverflow.com/questions/102558/biggest-advantage-to-using-asp-net-mvc-vs-web-forms?lq=1 – nawfal 2014-05-04 17:21:16

回答

40

这是关于MVC的伟大之处。它比常规ASP.NET Web窗体更接近框架的基础。所以通过使用MVC并理解它,您将更好地理解WebForms的工作方式。 WebForms的问题是存在很多魔法,并且大约6年试图使Web窗口像Windows窗体一样工作,所以您拥有控制树层次结构并将所有内容都转换为Web。使用MVC,您将获得WinForm影响力的核心。

因此,从MVC开始,如果需要,您可以轻松地转入WebForms。

+2

从MVC开始,然后转到WebForms?如此愚蠢 。它喜欢去1步forwrad和3回 – Zakos 2014-02-17 16:54:02

4

ASP.Net Webforms是比ASP.NET MVC完全不同于基本框架的抽象。使用MVC,您可以更好地控制封面上发生的事情,而不是使用ASP.NET Webforms。

在我看来,学习不同的方法来做事通常会让你成为一个更好的程序员,但在这种情况下,可能会有更好的东西学习。

1

IMO,在正常的web表单场景中比在MVC中有更多的缺陷。 Viewstate和数据绑定有时可能会非常棘手。

但是对于MVC来说,它只是简单的形式post /渲染事物的老派方式。不是说它不好,它只是不同而且更干净。

1

因为我迄今为止只使用了传统模型,所以我无法真正地谈论MVC和“传统”。不过,从我读过的内容来看,我认为一个人远远优于另一个。我认为一旦你“明白了”,你就可以在两方面都有很高的生产力。

实际上,我会考虑到大多数书籍,代码示例和现有应用程序都是为“传统”方式编写的。您有更多的帮助,而且您的技能对于以“传统”方式编写现有应用程序的雇主更有用。

+2

我不同意代码示例参数。 MVC是针对C#方法的HTML/Javascript。网络控制的东西从那里被取出,而不是真的*用别的东西替换*。由于每种Web技术都可以与HTML协同工作,并且可以(应该)使用JavaScript,所以我发现解决方案的速度远远超过了解如何使用asp.net控件进行操作。 – 2009-05-21 09:10:24

8

我同意尼克:MVC更接近真实网络范例,并通过使用它,你会面临你的网站真正的作品。 WebForms将大部分这些东西从您的背景中提取出来,并且来自PHP背景,我发现它非常直观。

我建议你直接跳到MVC并跳过WebForms。如上所述,如果需要,您将可以回到它。

2

这取决于你的动机。如果你打算以ASP.NET开发人员的身份出售自己,那么你将需要这两者。

如果这只是为了您自己的乐趣,然后去MVC。

我个人的感觉是webforms将会持续多年。许多人有时间和精力投入他们。但是,我认为人们会慢慢地(或者不那么慢)迁徙。 Webforms始终只是一种让拖放式VB4 morts思考Web开发的方法。它很有用,但它确实带走了很多控制权。

0

如果你不知道如何或没有经验的原始水平的Web请求/响应和原始的HTML/CSS渲染MVC将是一个很好的开始。 然后,您将更好地了解webforms和mvc的优点和缺点。由于两者都满足不同的需求,它们都将在未来出现。

虽然我会说webforms是一个高度滥用和滥用的平台。 这么多的“看看没有代码”的垃圾给所有使用它的人一个坏名字。 花时间理解并正确使用它,你会发现它是一个非常可扩展和强大的平台。

2

ASP.NET MVC适用于希望将客户端代码与服务器代码分离的开发人员。我希望编写可以从服务器转移到服务器的JavaScript,XHTML,CSS客户端(不考虑服务器技术)。客户需要花费大量时间进行安装和完成,因此您希望将它们(和子组件)用于尽可能多的服务器。此外,此解耦允许您的服务器支持任何支持HTTP和尖括号(和/或JSON)(如WPF/Silverlight)的客户端技术。如果没有ASP.NET MVC,你就会被迫与整个ASP.NET团队形成敌对关系 - 但是Scott Guthrie是一个很酷的家伙,在他的前辈(也许是Scott自己)的几年之后几乎完全集中在MVC上。让Windows Forms程序员编写Web应用程序。

在ASP.NET MVC之前,我主要基于ASHX文件 - HTTP处理程序构建ASP.NET应用程序。我可以向你保证,没有“真正的”微软商店会鼓励这种行为。从(明智的)管理角度来看,要求所有开发人员都使用供应商推荐的使用供应商工具的方式。因此,落后一到两年的IT商店将要求您了解MVC之前的做事方式。当您需要维护“传统”系统时,这也很方便。

但是,对于绿色领域,它一路是MVC!