【发布时间】:2011-09-03 06:59:57
【问题描述】:
ASP.NET Web 窗体和 ASP.NET 网页有什么区别?
Here 它说网页和网络表单是不同的方法。
【问题讨论】:
ASP.NET Web 窗体和 ASP.NET 网页有什么区别?
Here 它说网页和网络表单是不同的方法。
【问题讨论】:
共有三种 ASP.NET Full 版本,还有 ASP.NET Core(适用于 Linux 和 Mac 的新版本)。
对于 ASP.NET 完整版
第一个是最古老的,称为 Web 表单。基本上,它是一个面向组件的高级 Web 框架,可与按钮和网格等控件一起使用,这些控件封装了行为和视图。
它是最流行的 ASP.NET 风格,但因缺乏对生成的标记的控制而受到批评。目前大多数新项目都是 ASP.NET MVC,但肯定有很多 Web 窗体代码。虽然这是我个人的最爱,但我必须指出,这是开始学习 Web 编程的一种不好的方式,因为它对您隐藏了实现细节(如果您有经验,这很好)并且学习起来有点复杂。
来源:http://www.asp.net/web-forms
ASP.NET MVC 是 ASP.NET 的 MVC 模式的实现。有人声称,与使用 Web 表单相比,使用此框架开发具有单元测试和良好关注点分离的可维护应用程序更容易。
我不同意这一点,并认为使用 MVP 之类的模式可以通过 Web 表单实现相同的效果。另一方面,ASP.NET MVC 有一个很大的优势——它允许完全控制生成的标记。这对于使用 JavaScript 控制很多东西的现代 Web 开发风格非常重要。例如,在 MVC 视图上添加精美的动画比在 Web 窗体上更容易。
ASP.NET Web Pages 是(目前)针对小型项目和初学者开发人员(至少在我看来)的最新版本。它适用于开发约 10 页的小型项目。大多数逻辑都写在每页的一个文件中,我称之为“基本 PHP 样式”。它使用Razor 语法来注入服务器端代码。
来源:http://www.asp.net/web-pages
请注意,Web 窗体使用页面(与 MVC 不同),因此对于 ASP.NET 网页是什么存在混淆。
对于 ASP.NET Core,使用了新版本的 ASP.NET MVC,它在概念上与上述 ASP.NET MVC 相同。有趣的是,从 ASP.NET Core 2.0 开始,还有一个叫做 Razor Pages 的东西,它本质上是一个更高级的 ASP.NET 网页版本。
【讨论】: