当前位置: 代码网 > it编程>编程语言>Asp.net > ASP.NET MVC框架简介

ASP.NET MVC框架简介

2024年05月18日 Asp.net 我要评论
一、mvc模式概述1、mvc是一种流行的web应用架构技术,他把web应用划分成model(模型)、controller(控制器)和view(视图)三部分。2、优点:可测试、可维护3、mvc是asp.

一、mvc模式

概述

1、mvc是一种流行的web应用架构技术,他把web应用划分成model(模型)、controller(控制器)和view(视图)三部分。

2、优点:可测试、可维护

3、mvc是asp.net技术的子级(asp.net mvc),asp.net包括:asp.net webform和asp.net mvc。

二、mvc简介

1、mvc是什么

mvc是一种软件架构设计模式,针对具备人机交互功能的软件和程序。

2、执行顺序

控制器接收网页发送的请求,如果需要请求数据,先从model里面取出数据,然后再交给view展示。

3、web开发的本质

web开发的本质流程:请求->处理->响应,webform方式不贴近web开发的本质。

三、创建asp.net mvc步骤

1、创建asp.net mvc项目。

文件->新建->项目->web项目,根据需要选择相应版本的asp.net mvc应用程序,点击“确定”:

2、在项目模板选择界面,选择相应的模板和视图引擎,点击确定,新建一个asp.net mvc应用程序:

3、创建controller控制器。

本示例以vs2012为开发工具,创建的mvc4应用程序,需要创建控制器才可以运行(vs2013或以上版本已经默认创建了控制器,直接就可以运行)。

在controllers文件夹上面点击右键->添加->控制器:

输入控制器的名称(控制器的名称约定以controller结尾),选择模板,点击添加:

4、创建视图。

在控制器代码界面,在方法名称上面点击右键:选择“添加视图”:

在添加视图选项卡界面,输入视图名称,视图名称必须和方法的名称保持一致,选择视图引擎,点添加:

在views文件夹里面会看到新添加的视图:

四、asp.net mvc项目结构

新创建的mvc应用程序结构如图所示:

1、content文件夹

存放资源文件,例如css文件、第三方插件等。

2、controllers文件夹

存放mvc应用程序相关的控制器文件。

3、models文件夹

存放除了controller和view以外的文件。

注意:与三层结构的models不同,mvc里的models里面可以放实体类、数据访问类和业务类等。

4、scripts文件夹

存放各种脚本文件。

5、views文件夹

存放view文件。

6、shared文件夹

shared文件夹位于views文件夹里面,任何控制器中找不到的视图都会去shared文件夹下面找。

7、web.config

存放配置信息。

8、global.asax

global.asax存放应用程序启动时要执行的代码。

五、代码详解

1、global.asax—应用程序启动注册路由

当对网站发出请求时,应用程序是如何把请求引到对应的控制器及里面的action方法
答:首先网站一启动,会提前加载根据控制器和action方法设置的路由规则,这样一请求,路由就会分析之后把请求引到对应的控制器和action方法。

routeconfig类位于app_start文件夹下面。

2、控制器

  • 1)根据前面的解析,每次请求都是先定位控制器,然后再根据路由规则找到对应的action方法!
  • 2)但是在路由表里,我们只写了home,但是mvc框架约定,控制器都是以controller结尾,并继承了基类controller!
  • 3)在这里index方法返回值类型是actionresult,方法名和路由注册的方法名一致,在index方法内,调用了view方法并且返回,这是一个重载的方法,可以给个参数,作为返回视图的名称,如果没有参数,默认就是以当前action命名的视图。
  • 4)也就是asp.netmvc架构,不像java的mvc通过配置来建立关系,他是约定大于配置。

3、视图

视图里的代码类似于之前的aspx里面的代码,主要是html、js和css等前端技术构成,从mvc1.0到mvc5.0变化很大,razor语法越来越完善,强大!

4、向视图传递数据

1)传统的webform方式,前置页面类和后置代码类是继承的关系,可以直接进行数据传递。
2)mvc模式下,视图和控制器是完全分离的,通过专用渠道传递数据,viewdata是在控制器和视图之间传递数据的容器之一。

5、asp.net mvc执行顺序

六、model和三层架构

1、mvc与三层架构之间有没有区别?

  • 1)mvc和三层架构没有必然的关系,架构的思想是不一样的。
  • 2)三层架构强调的是物理分离(多个项目构成),mvc强调的是逻辑分离(一个项目构成)。
  • 3)mvc中也可以体现三层架构。

  • 4)有些mvc企业框架为了方便管理,会故意把models做分层设计。

注意:在mvc中如果它不属于view也不属于controller,那么就把它归到model中。

七、mvc和asp.net

1、asp.net mvc和asp.net

  • (1)asp.net mvc是asp.net技术的子集。
  • (2)asp.net mvc是在核心asp.net基础之上构建
    • 1.依赖于httphandler,如请求是如何进入控制器的
    • 2.依赖于session、cookie、cache、applaction等状态保持机制
    • 3.使用httpcontext、request、response、server等对象
    • 4.在controller使用智能感知很容易得到这些对象
  • (3)asp.net mvc是.net中编写web程序的一种可选方式
    webforms技术是另外一种可选方式

2、mvc和webforms

(1)webforms的特色

  • 1)所见即所得,开发傻瓜化
    • 1.服务器端控件
    • 2.事件模型
    • 3.状态管理
  • 2)借鉴winforms的成功特色
  • 3)偏离了web请求处理的原理

(2)asp.net mvc的特色

  • 1)关注分离
    • 1.webform只是把一个页面分成了前置页面和后置代码,不够彻底
    • 2.mvc可以把一个页分成三块,分得更彻底
  • 2)可测试性
  • 3)开发更接近web的本质
  • 4)对开发人员的技术水平要求更高

到此这篇关于asp.net mvc框架的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com