一、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)所见即所得,开发傻瓜化
- 2)借鉴Winforms的成功特色
- 3)偏离了Web请求处理的原理
(2)Asp.net MVC的特色
- 1)关注分离
- 1.WebForm只是把一个页面分成了前置页面和后置代码,不够彻底
- 2.MVC可以把一个页分成三块,分得更彻底
- 2)可测试性
- 3)开发更接近WEB的本质
- 4)对开发人员的技术水平要求更高
到此这篇关于ASP.NET MVC框架的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。
相关推荐:
SEO合同:确保您网站优化成功的关键保障,微博营销推广规则最新
SEO无限:如何利用SEO技术实现网站流量爆发?,网站建设总监
软件AI:颠覆未来的智能革命
SEO单页网站:助力企业在线营销的一站式解决方案,湖南视频网站优化方式
SEO运营工作是什么,seo公司运营 ,720516AI
SEO已经成为数字营销的核心,如何利用SEO提升网站流量和转化率,含山网站优化推广
AI热门软件,未来科技的钥匙
“爱站”:开启网站优化与流量增长的新纪元,seo入门ppt
AI缩写文档:革新文档管理与自动化的未来,ai聊天中文
SEO表格:优化网站排名的秘密武器,大数据推广营销费用多少
AI缩写文本:助力智能生活的革新力量,ai智能写作生成神器下载
seo需要会什么,seo要会些什么 ,ai313414919
SEO到底怎么做?揭秘从零到精通的完整SEO优化攻略,鸟瞰ai
软件我在AI:改变未来的智能助手
SEO做法-提升网站流量与排名的关键秘诀,屏东网站推广招聘
ChatGPT昨晚突然不能使用,背后真相令人意想不到!,edga ai
“更加通顺”-让生活与工作无缝衔接的语言魅力,SEO书架书桌收纳
用AI写的文章算原创吗?真相揭示,带你深度思考!
seo进阶买什么书推广,seo的推广技巧 ,菩萨壁纸ai
ChatGPT支持多种语言输入输出,让全球资讯触手可及,联想拯救者的ai写作
SEO怎么做才能提升网站流量与排名?这篇文章给你全攻略,铁岭定制网站推广公司电话
“曝光量扩大,助力品牌腾飞的秘密武器”,盐山网站优化免费咨询
Chat免费,让沟通无界限,尽享智能对话时代,ai没办法置顶
seo涉及什么内容,seo主要包括 ,法医使用ai
ChatGPT页面不自动显示最新消息:如何解决这一困扰,提升使用体验?,斑马ai幼儿百度云网盘
为什么选择老域名工具?提升网站SEO与品牌影响力的秘密武器,软文与seo文章区别
ChatGPT维护-智能时代的数字助手,如何让你的工作更高效,ai智能救援
ChatGPT的诞生,预示着人工智能大规模应用的时代已经来临,ai此生不渝
SEO行销:开启网站流量增长的秘密武器,百威产品关键词查询排名
亚马逊seo信息是什么,亚马逊seo关键词优化软件 ,光谷ai
为什么选择收录网站是企业在线营销的必备策略,全网营销与推广
SEO关键词推广软件官网-助力企业实现高效精准的网络营销,圈圈ai
为什么要监控SEO效果,国家为什么要监控个人 ,抚顺ai系统
SEO流程全解析:如何提升网站流量与排名,账号如何营销推广
SEO技巧提升网站流量:打造高效网站的关键策略,Ai测脸相
AI自动帮写,轻松应对内容创作挑战,赋能写作新未来,嘿科技ai
在线AI文章生成:智能写作的无限可能
SEO资讯:最新趋势,提升网站排名,快速突破流量瓶颈,廊坊seo推广咨询服务
用AI修改文章,提升写作效率与质量的新时代
为什么seo吸引人,为什么seo吸引人呢 ,ai路径查找器绘制树
SEO目标:让您的网站轻松登顶搜索引擎,优化购物网站的搜索
SEO包月服务:助力企业提升网站排名与流量的长期利器,网站建设流程 报读文库
AI网页设计生成-智能化创造无限可能,ai机甲风背景音乐
SEO针对中小企业的增长潜力:如何通过精准优化抢占市场先机,网络推广和营销就选y火10星评价
SEO希望:如何通过SEO优化实现网站突破,迈向成功之路,品牌网站推广软件
ChatGPT暂时不可用?如何高效应对并寻找最佳替代方案!,logo ai教程视频
ChatGPT服务异常:为何影响到你的工作和生活?如何有效解决?,ai怎么保持圆角不变
AI网页生成:轻松构建智能网站,提升品牌竞争力,杭州专业ai智能教育
SEO大量优化:如何通过精准策略提升网站流量,突破搜索引擎排名瓶颈,吕梁本地网站推广平台
怎么用AI润色文章,让你的文稿瞬间高大上