传统的ASP .NET Web Forms与MVC

时间:2008-09-03 13:54:23

标签: asp.net-mvc webforms

作为具有一些winforms和客户端应用程序经验的人 - 是否值得回去学习传统ASP .NET页面的工作方式,或者直接进入ASP .NET MVC是否可以?

我正在寻找一般C#的知识中的陷阱或陷阱,我不会从截屏视频系列和ASP .NET网站上的内容中得知。

8 个答案:

答案 0 :(得分:41)

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

首先从MVC开始,如果需要,您将能够轻松地进入WebForms。

答案 1 :(得分:8)

我同意Nick的观点:MVC更接近真正的网络范例,通过使用它,您将面临网站的真正运作方式。 WebForms将大部分这些东西从你身上抽离出来,而且从PHP背景来看,我发现它确实是非直观的。

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

答案 2 :(得分:4)

与ASP.NET MVC相比,ASP.Net Webforms与基础框架完全不同。使用MVC,您可以更好地控制封面下发生的事情,而不是使用ASP.NET Webforms。

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

答案 3 :(得分:2)

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

如果这只是为了您自己的乐趣,那么请转到MVC。

我个人的感觉是webforms将会存在很多年。很多人都有时间和精力投入其中。但是,我认为人们会慢慢地(或者可能不会那么慢!)迁移。 Webforms总是只是让VB4 morts拖放以考虑Web开发的一种方式。它很有用,但它确实带走了很多控制权。

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

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

答案 5 :(得分:1)

IMO,正常的Web表单场景中存在比仅使用MVC更多的陷阱。 Viewstate和数据绑定有时很棘手。

但对于MVC来说,它只是简单的形式发布/渲染旧式的方式。并不是说它不好,它只是不同,而且更清洁。

答案 6 :(得分:1)

我无法在技术上谈论MVC与“传统”,因为到目前为止我只使用了传统模型。从我所读到的,我不认为一个人比另一个人优越得多。我想,一旦你“得到它”,你可以在两者中都很有成效。

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

答案 7 :(得分:0)

如果您不知道如何或者没有使用原始级别Web请求/响应和原始html / css渲染的经验,那么MVC将是一个很好的起点。 然后,您将更好地了解webforms和mvc的优缺点。它们将在未来都存在,因为它们都满足不同的需求。

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