asp.net mvc应用程序和asp.net Web应用程序之间有什么区别

时间:2011-01-31 04:06:51

标签: asp.net asp.net-mvc

任何人都可以解释asp.net中mvc和web应用程序之间的区别。 在mvc中我们可以找到controllers文件夹。我们无法在Web应用程序中找到控制器文件夹..!请消除我的困惑。

2 个答案:

答案 0 :(得分:7)

MVC使用控制器来协调模型和视图,以便为用户提供用户界面。

Web表单不使用控制器来实现此目的,它使用事件背后的代码。

MVC是围绕关注点分离的概念构建的 - 每个事物都由它自己的位负责,并且不应该关注其他位正在做什么。 Webforms将它们混合在一起,代码与webform(在后面的代码中)1:1相关联,通常会导致业务逻辑蔓延到UI中。

WebForms使用强大的事件系统来帮助抽象出HTTP的一些复杂性,例如其无状态特性。 MVC不这样做,这要求开发人员在纯HTTP环境的范围内工作。如果您来自VB6 / WinForms背景(目标受众首次发布ASP.NET时),WebForms中的事件系统可让您以熟悉的方式快速连接事件。

查看http://www.asp.net/mvc,其中有许多关于MVC入门的精彩教程。

答案 1 :(得分:3)

ASP.NET MVC应用程序是一个依赖于ASP.NET MVC框架的应用程序。 MVC代表Model,View Controller,这三个组件定义了使用MVC模式创建的应用程序。

MVC模式旨在将应用程序逻辑,数据和表示分离为不同的,有些独立的组件。

<强>模型

模型是应用程序数据的表示。例如,购物应用程序可能有一个Cart模型来表示用户购物车的状态。

查看

视图是模型中包含的数据的直观表示。视图类应该知道它应该如何呈现它所使用的模型的具体细节。

<强>控制器

Controller的工作是处理用户输入并更新Model的状态以反映由于用户操作而发生的更改。例如,假设用户正在查看“联系我们”页面并单击“提交”按钮。控制器将通过使用表单字段中的值更新模型来响应按钮单击,然后保存模型,使其得到验证,然后写入数据库。

这是对MVC模式的一个非常浅薄和不完整的解释,您应该转到ASP.NET MVC homepage以获得更完整的MVC模式和ASP.NET MVC框架视图。

ASP.NET Web应用程序使用称为Web窗体的单独框架。由于Web窗体不使用MVC模式中定义的约定,因此Web应用程序模板不会创建类似的文件夹结构。

两种框架的使用并不相互排斥,两者代表了对同一问题的不同方法。关于哪种方式对数据访问最有效,我会引用Michael Shimmins的优秀评论