ASP.NET MVC 3 直到我膝盖中了一箭【1】概述
ASP.NET MVC 框架提供用于创建 Web 应用程序的 ASP.NET Web 窗体模式的替代模式。ASP.NET MVC 框架是一个可测试性非常高的轻型演示框架,(与基于 Web 窗体的应用程序一样)它集成了现有的 ASP.NET 功能,如母版页和基于成员资格的身份验证。MVC 框架在 System.Web.Mvc 程序集中定义。
1.Web 应用程序类型:
一些类型的 Web 应用程序将得益于 MVC 框架。一些类型将继续使用基于 Web 窗体和回发的传统 ASP.NET 应用程序模式。其他类型的 Web 应用程序将结合这两种方法;这两种方法彼此互不包含。
2.MVC 设计模式:
3.MVC 框架包括以下组件:
-
模型。模型对象是实现应用程序数据域逻辑的应用程序部件。通常,模型对象会检索模型状态并将其存储在数据库中。例如,Product 对象可能会从数据库中检索信息,操作该信息,然后将更新的信息写回到 SQL Server 数据库内的 Products 表中。
在小型应用程序中,模型通常是概念上的分离,而不是实际分离。例如,如果应用程序仅读取数据集并将其发送到视图,则该应用程序没有物理模型层和关联的类。在这种情况下,数据集担当模型对象的作用。
-
视图。视图是显示应用程序用户界面 (UI) 的组件。通常,此 UI 是用模型数据创建的。Products 表的编辑视图便是一个视图示例,该视图基于 Product 对象的当前状态显示文本框、下拉列表和复选框。
-
控制器。控制器是处理用户交互、使用模型并最终选择要呈现的视图来显示 UI 的组件。在 MVC 应用程序中,视图仅显示信息;控制器则用于处理和响应用户输入和交互。例如,控制器处理查询字符串值,并将这些值传递给模型,而模型可能会使用这些值来查询数据库。
MVC 模式可以帮助您创建使应用程序的不同方面(输入逻辑、业务逻辑和 UI 逻辑)分离的应用程序,同时可在这些元素之间提供松散耦合。UI 逻辑位于视图中。输入逻辑位于控制器中。业务逻辑位于模型中。在您生成应用程序时,通过使用这种分离方式,可以帮助您化繁为简,因为它可以使您侧重于一次实现应用程序的一个方面。MVC 应用程序的这三个主要组件之间的松散耦合也可促进并行开发。例如,一个开发人员可以从事视图方面的工作,第二个开发人员可以从事控制器逻辑方面的工作,第三个开发人员可以侧重于模型中的业务逻辑。
4.ASP.NET MVC 视图引擎:
Razor视图引擎:应用程序启动时在Global. asax中Application_Start()方法后执行。
ASPX视图引擎:将现有 ASP.NET 页面(.aspx 文件)、用户控件(.ascx 文件)和母版页(.master 文件)标记文件中的标记用作视图模板。
5.ASP.NET MVC 框架的优点:
-
通过将应用程序分为模型、视图和控制器,化繁为简的工作更加轻松。
-
它不使用视图状态或基于服务器的窗体。这使得 MVC 框架特别适合想要完全控制应用程序行为的开发人员。
-
它使用一种通过单一控制器处理 Web 应用程序请求的前端控制器模式。这使您可以设计一个支持丰富路由基础结构的应用程序。
-
它为测试驱动的开发 (TDD) 提供了更好的支持。
-
它非常适合大型开发人员团队支持的 Web 应用程序,以及需要对应用程序行为进行极度控制的 Web 设计人员。
- 更多asp疑问解答:
- asp正则过滤重复字符串的代码
- 用asp过滤全部html但保留br类似的符号
- 会asp,但感觉asp要过点,想学php。但我一般做的都是小公司的站,用access数
- PHP的空间可以用ASP的源代码吗?
- 以前做asp程序,现在应该怎样发展?是学.net还是php
- 以前做asp程序,现在应该怎样发展?是学.net还是php
- 想做一个市级的人才网acess,sql数据库,语言asp,jsp,php分别用哪种好
- jsp,asp,php 区别
- 我想找一个有比较多漏洞的网站的源码,比如可以asp,php注入等都可以。供学习研究用。请提供下载地址。。
- 现在候找人做个网站,用ASP,还是PHP语言去做好
- asp,php ,jsp,.net 对于做网站前台的重要吗?
- asp和php的区别是什么?
- 我是新手SEO菜鸟 请问wp dw php asp cms myspl dede 这些软件应该如何区分呀?
- 网页制作相关的三种语言:ASP JSP PHP那个好点,简单点?
- 网页制作相关的三种语言:ASP JSP PHP那个好点,简单点?