ASP.NET Web窗体和ASP.NET Web页之间有什么区别?
这里说网页和Web表单是不同的方法。
Answers:
有三种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窗体上添加花式动画更容易。
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的更高级版本。