19

当谈到 ASP.NET 时,我是一个完整的初学者,但我想学习它以构建最终将与云托管 SQL 服务器通信的 Web 应用程序。但是,我找不到任何概述 ASP.NET Web 应用程序和 ASP.NET MVC2 Web 应用程序(在 Visual Studio 2010 中)之间区别的信息,所以我不知道从哪里开始。谁能给我一个简单的解释/大纲,以便我可以决定要遵循的教程?

谢谢

4

8 回答 8

30

ASP.NET 是一个网络平台。它提供了一个位于 IIS(Web 服务器)之上的层,有助于创建 Web 应用程序和 Web 服务。ASP.NET MVC 是专门用于构建 Web 应用程序的框架。它位于 ASP.NET 之上并使用 ASP.NET 提供的 API。ASP.NET Web Forms 是另一个专门用于构建 Web 应用程序的框架,而新的 ASP.NET Web API 是一个用于构建 Web 服务的平台。

于 2012-08-29T14:27:14.493 回答
13

ASP.NET 在最基本的层面上为您提供了一种方法,可以在事件驱动的编程模型中提供通用 HTML 标记以及服务器端“控件”,该模型可以与 VB、C# 等一起使用。您定义站点的页面,放入控件,并提供程序化管道以使其全部工作。

ASP.NET MVC 是一个基于模型-视图-控制器架构模式的应用程序框架。这可能被认为是实现网站的特定方式的“固定”框架,页面充当“控制器”并将请求分派到应用程序中的适当页面。这个想法是对应用程序的各种元素进行“分区”,例如业务规则、表示规则等。

将前者视为实施您或多或少从头开始设计的站点架构的“空白板”。MVC 提供了一种机制,用于围绕应用程序访问的预定“模式”设计站点,如果这有意义的话。可以肯定的是,它还有更多的技术细节,但就问题而言,这就是镍之旅。

祝你好运!

于 2012-08-28T21:44:14.167 回答
10

ASP.NET MVC2 Web 应用程序基于 MVC 模式以方便单元测试,无需模拟管道 asp.net,因为它非常困难。您没有代码背后的代码,以便将代码图形和代码功能分开。

使用 MVC,您的应用程序变得独立于视图。您可以轻松替换创建视图的技术。

阅读这篇文章很有趣:http: //msdn.microsoft.com/en-us/magazine/dd942833.aspx

于 2012-08-28T21:00:01.843 回答
1

这里有一个很好的材料 http://www.webdevelopmenthelp.net/2013/10/Difference-between-ASP.NET-WebForm-And-ASP.NET-MVC.html

于 2013-12-15T10:57:35.857 回答
0

如果您有 VS10,请制作一个小型 ASP.NET (webforms) 应用程序和一个小型 ASP.NET MVC 2 应用程序,并检查它们之间的差异。这是一个很好的学习方式。

于 2012-08-28T21:04:30.440 回答
0

ASP.NET 是一个网络平台。它提供了一个位于 Web 服务器之上的层,有助于创建 Web 应用程序和 Web 服务。ASP.NET 是专门用于构建 Web 应用程序的框架。它位于 ASP.NET 并使用 ASP.NET 提供的 API。ASP.NET Web Forms 是另一个专门用于构建 Web 应用程序的框架,而新的 ASP.NET Web API 是一个用于构建 Web 服务的平台

于 2020-07-27T12:08:28.147 回答
0

与 ASP.Net Web 表单一样,ASP.Net MVC 是在 Microsoft .net 框架中构建 Web 应用程序的开发模型。它们之间的主要区别在于 ASP.net MVC 是基于 MVC 架构的。我们有 3 个独立的层——模型、视图控制器,它们相互交互以呈现 HTML 输出。

主要区别

  1. Web 表单主要是具有事件驱动的模型。我们有页面级事件(Page_load、预渲染、page_init 等)和控制级事件。这不是 MVC 的情况。请求生命周期相对复杂。(为什么复杂,因为请求必须经过所有事件才能呈现 HTML 输出)

  2. Web 表单基本上有一个包含 UI 控件和代码隐藏文件的 aspx 页面。所有的页面级事件和控制级事件都在这里处理。在 MVC 中,视图、模型、控制器可以独立存在(提供明确的关注点分离)

  3. SOC 使开发更容易,因为我们可以为 View(设计 html)和控制器(实现业务逻辑)拥有单独的开发人员

  4. 由于这种紧密耦合的性质,Web 表单不适合单元测试。在 MVC 中,我们可以在控制器级别和操作方法级别编写单元测试。在这里,我们可以模拟要传递给视图的数据,并为它们的不同属性(如视图名称、模型属性、空检查等)断言操作方法的结果

  5. 在 Web 表单中,我们有状态完整的行为。ASPX 页面中的服务器控件使用视图状态在请求响应周期内保持其状态。由于此视图状态存储为页面本身内部的隐藏控件,并且它们是在请求和响应周期中发送的,因此它们变得更加繁重。视图状态的缺失和 MVC 的无状态特性使其重量更轻。因此,它们在请求生命周期中要快得多。

于 2020-07-24T07:37:55.480 回答
-1

ASP.NET 是一个 2 层应用程序,其中没有单独的数据库部分,而 MVC 是一个 3 层应用程序,其中视图和逻辑是分开的。在 ASP.NET 中,为每个.aspx表单生成一个 URL,但在 MVC 中,URL 是基于控制器和路由器配置生成的。

于 2019-04-26T06:01:33.347 回答