【问题标题】:what is the difference between the asp.net mvc application and asp.net web applicationasp.net mvc 应用程序和 asp.net web 应用程序有什么区别
【发布时间】:2011-01-31 04:06:51
【问题描述】:

谁能解释一下asp.net中mvc和web应用程序的区别。 在 mvc 中,我们可以找到控制器文件夹。我们不能在 Web 应用程序中找到控制器文件夹..!请消除我的困惑。

【问题讨论】:

标签: asp.net asp.net-mvc


【解决方案1】:

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

Web 表单不使用控制器来实现这一点,它使用带有事件的代码。

MVC 是围绕关注点分离的概念构建的——每件事都负责自己的位,而不应该关心其他位在做什么。 Webforms 让它们更加融合在一起,其中代码与 Webform 1:1 相关联(在后面的代码中),通常会导致业务逻辑潜入 UI。

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

看看http://www.asp.net/mvc,里面有很多很棒的MVC入门教程。

【讨论】:

  • 谢谢。但是在将 asp.net 应用程序与数据库、MVC 或 webforms 结合使用时,哪一个更有效。
  • @Mihir - 这取决于(抱歉)。 WebForms 可能会稍微高效一些,因为它具有开箱即用的数据绑定控件,例如网格、寻呼机等。MVC 可能更好,因为它的可测试性(可以说比 webforms 更容易)。但它们各有用途,适合不同的任务。在查询执行等方面的数据库效率非常重要,因为它们都使用相同的库与数据库进行通信。
【解决方案2】:

ASP.NET MVC 应用程序是依赖于 ASP.NET MVC 框架的应用程序。 MVC 代表模型、视图控制器,这三个组件定义了使用 MVC 模式创建的应用程序。

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

型号

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

查看

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

控制器

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

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

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

这两个框架的使用并不相互排斥,两者代表了解决同一问题的不同方法。关于哪个对数据访问最有效,我建议您参考 Michael Shimmins 的出色评论

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    • 2015-10-01
    • 2010-09-13
    • 2020-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多