ASP.NET Full 共有三种版本,还有 ASP.NET Core(可在 Linux 和 Mac 上运行的新版本)。
对于 ASP.NET 完整版
第一个是最古老的,称为 Web 表单。基本上,它是一个高级的面向组件的 Web 框架,可与封装行为和视图的按钮和网格等控件一起使用。
它是 ASP.NET 中最流行的风格,但它因缺乏对生成的标记的控制而受到批评。当前大多数新项目都是 ASP.NET MVC,但肯定有大量 Web 窗体代码。虽然这是我个人最喜欢的,但我必须指出,这是开始学习 Web 编程的一种不好的方法,因为它向您隐藏了实现细节(当您有经验时这是很好的)并且学习起来有点复杂。
Source: http://www.asp.net/web-forms http://www.asp.net/web-forms
ASP.NET MVC 是 ASP.NET MVC 模式的实现。有些人声称使用单元测试和良好的关注点分离来开发可维护的应用程序比使用 Web 窗体更容易。
我不同意这一点,并认为使用 MVP 这样的模式可以通过 Web 表单实现相同的效果。另一方面,ASP.NET MVC 有一个很大的优势 - 它允许完全控制生成的标记。这对于现代 Web 开发风格非常重要,因为很多事情都是用 JavaScript 控制的。例如,在 MVC 视图之上添加精美的动画比在 Web 窗体之上添加更容易。
Source: http://www.asp.net/mvc http://www.asp.net/mvc
ASP.NET 网页是(当前)最新的风格,针对小型项目和初学者开发人员(至少在我看来)。它非常适合开发大约 10 页的小型项目。大多数逻辑都以我所说的“基本 PHP 风格”编写在每页一个文件中。它使用Razor https://en.wikipedia.org/wiki/Microsoft_ASP.NET_Razor_view_engine用于注入服务器端代码的语法。
Source: http://www.asp.net/web-pages http://www.asp.net/web-pages
请注意,Web 窗体使用页面(与 MVC 不同),因此人们对 ASP.NET 网页是什么感到困惑。
对于 ASP.NET Core,使用新版本的 ASP.NET MVC,其概念与上述 ASP.NET MVC 相同。有趣的是,从 ASP.NET Core 2.0 开始,还有一个叫做剃刀页面 https://learn.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-3.1它本质上是 ASP.NET 网页的更高级版本。