ASP.NET Web窗体和ASP.NET网页


Answers:


95

有三种ASP.NET Full版本,还有ASP.NET Core(可在Linux和Mac上运行的新版本)。

对于ASP.NET Full

第一个是最旧的,称为Web窗体。基本上,这是一个面向组件的高级Web框架,可与按钮和网格之类的控件一起使用,以封装行为和视图。

它是ASP.NET最受欢迎的形式,但是由于对生成的标记缺乏控制而受到批评。当前,大多数新项目是ASP.NET MVC,但是肯定有很多Web窗体代码。尽管这是我个人的最爱,但我必须指出,这是开始学习Web编程的一种不好的方法,因为它向您隐藏了实现细节(如果有经验,这是很好的选择),并且学习起来有些复杂。

资源: http //www.asp.net/web-forms

ASP.NET MVC是ASP.NET MVC模式的实现。有人声称,与Web窗体相比,使用此框架通过单元测试和良好的关注点分离来开发可维护的应用程序要容易得多。

我不同意这一点,并认为使用MVP之类的模式可以通过Web Forms实现相同的功能。另一方面,ASP.NET MVC具有一个很大的优势-它允许完全控制生成的标记。这对于现代的Web开发风格非常重要,在Web开发中,很多事情都由JavaScript控制。例如,在MVC视图上比在Web窗体上添加花式动画更容易。

资源: http //www.asp.net/mvc

ASP.NET Web Pages是(当前)针对较小项目和初学者的最新形式(至少在我看来)。它适合于开发约10页的较小项目。大多数逻辑以我称为“基本PHP样式”的方式写在每页一个文件中。它使用Razor语法注入服务器端代码。

资料来源:http//www.asp.net/web-pages

请注意,Web窗体使用页面(与MVC不同),因此,什么是ASP.NET Web页面是一个困惑。

对于ASP.NET Core,将使用ASP.NET MVC的新版本,该新版本在概念上与上述ASP.NET MVC相同。有趣的是,从ASP.NET Core 2.0开始,还有一个叫做Razor Pages的东西,它本质上是ASP.NET Web Pages的更高级版本。


Stilger,这些页面显示了差异,但是我们是否还需要不同的IDE?如WebMatrix的网页?
SocialCircus 2011年

@stilgar我不认为有任何区别。在asp.net/web-forms页面中,如果单击第2部分中的“ ASP.NET Web表单简介”,则会带您到与网页有关的msdn.microsoft.com/zh-cn/library/ms178125.aspx
Aravind

是的,Web Matrix是获取网页的方法。我对网页(或Web矩阵)了解不多,也不在乎。对我来说,这是一种业余爱好者的玩具,它是Microsoft使想要开始使用Web的初学者轻松使用.NET的一种方式。现在,PHP(我认为这是令人恶心的语言)非常容易启动,人们倾向于坚持首先使用的内容,并在其中进行更多的投资。这就是为什么MS创建网页以使人们使用.NET而不是PHP来开始使用Web的原因。
史迪加

3
网页是一个框架。我已经提到了一些差异。Web窗体使用控件。网页使用Razer语法将服务器端(C#/ VB.NET)代码注入到表示该页面的单个文件中。
斯蒂尔加2011年

1
Pages,Forms的名称是否具有误导性?在我看来,页面似乎适用于简单的网页,而表单似乎适用于数据输入/调查。听起来他们俩都可以完成相同的事情,只是区别在于开发。我理解正确吗?
shim 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.