2011-01-31 128 views
2

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

+0

可能重复[ASP.NET webforms和MVC之间的主要区别](http://stackoverflow.com/questions/142132/what-the-key-differences-between-asp-net-webforms-and -mvc) – nawfal 2014-05-04 16:45:34

回答

3

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

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

模型

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

查看

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

控制器

该控制器的工作是处理用户输入和更新模型的状态,以反映作了作为用户操作的结果的变化。例如,想象用户正在查看联系我们页面并单击提交按钮。控制器会通过使用表单字段中的值更新模型来响应按钮单击,然后保存模型,使其验证并写入数据库。

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

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

任一框架的使用不是相互排斥的,两者代表对同一问题的不同方法。关于哪一个是最有效的数据访问我会引用你迈克尔Shimmins的优秀评论

7

MVC使用控制器编排模型和视图以向用户提供用户界面。

Web窗体不使用控制器来实现这一点,它使用事件后面的代码。

MVC是围绕关注点分离的概念构建的 - 每个事物都对自己的位置负责,并且不应该关心其他位正在做什么。 Webforms让他们更加融洽,其中代码与webform(在后面的代码中)以1:1关联,通常会导致业务逻辑进入用户界面。

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

看看http://www.asp.net/mvc,它有很多MVC入门教程。

+0

谢谢。但是在数据库,MVC或webforms中使用asp.net应用程序时哪一个是高效的。 – Mihir 2011-01-31 04:17:17

相关问题