ASP.NETMVC教程⼀:ASP.NETMVC简介
⼀、MVC模式简介
MVC模式是⼀种流⾏的Web应⽤架构技术,它被命名为模型-视图-控制器(Model-View-Controller)。在分离应⽤程序内部的关注点⽅⾯,MVC是⼀种强⼤⽽简洁的⽅式,尤其适合应⽤在Web应⽤程序中。
MVC将应⽤程序的⽤户界⾯分为三个主要部分:
1. 模型:⼀组类,描述了要处理的数据以及修改和操作数据的业务规则。
2. 视图:定义应⽤程序⽤户界⾯的显⽰⽅式。
3. 控制器:⼀组类,⽤于处理来⾃⽤户、整个应⽤程序流以及特定应⽤程序逻辑的通信。
1、MVC在Web框架中的应⽤
MVC模式经常应⽤于Web程序设计中。在ASP.NET MVC中,MVC三个主要部分的定义⼤致如下:
模型:模型是描述程序设计⼈员感兴趣问题域的⼀些类,这些类通常封装存储在数据库中的数据,以及操作这些数据和执⾏特定域业务逻辑的代码。在ASP.NET MVC中,模型就像使⽤了某种⼯具的数据访问层(
asp数据Daa Access Layer),这种⼯具包括实体框架(Entity Framework)或者与包含特定域逻辑的⾃定义代码组合在⼀起的其他实体框架。
视图:⼀个动态⽣成HTML页⾯的模板。
控制器:⼀个协调视图和模型直接关系的特殊类。它响应⽤户输⼊,与模型进⾏对话,并决定呈现哪个视图(如果有的话)。在ASP.NET MVC中,这个类⽂件通常以后缀名Controller表⽰。
2、执⾏顺序
在ASP.NET MVC中的执⾏顺序可以⽤下图进⾏表⽰,如图所⽰:
其执⾏顺序可以描述如下:⽤户在浏览器地址栏⾥⾯输⼊要访问的⽹址,然后发起请求,控制器接收⽹页发送的请求,如果需要请求数据,则先从Model⾥⾯取出数据交给控制器,然后把数据交给视图,视图负责展现数据。如果不需要请求数据,则直接返回视图呈现给⽤户。
⼆、ASP.NET中的MVC
1、ASP.NET MVC和ASP.NET
1. ASP.NET MVC是ASP.NET技术的⼦集。
2. ASP.NET MVC在ASP.NET核⼼基础之上构建:
1. 依赖于HttpHandler,如请求是如何进⼊控制器的。
2. 依赖于Session、Cookie、Cache、Application等状态保持机制。
3. 使⽤HttpContext、Request、Response、Server等对象。
4. 在Controller使⽤智能感知很容易得到这些对象。
3. .NET中编写Web程序的⼀种可选⽅式。
2、ASP.NET MVC和WebForms
1. ASP.NET MVC和WebForm都是.NET中开发Web程序的⼀种⽅式,两者是⼀种并列的关系。
2. WebForm的特点:
1. 所见即所得,开发傻⽠式:服务器端控件、事件模型、状态管理。
2. 借鉴了Winform的成功特⾊。
3. 偏离了Web请求处理的原理(请求->处理->响应)。
3. ASP.NET MVC的特点:
1. 关注分离:
1. WebForm只是把⼀个页⾯分成了前置页⾯和后置代码,分离的不够彻底。
2. MVC可以把⼀个页⾯分成Controller、View、Model三部分,分离的更彻底。
2. 测试性强。可以针对Controller、View、Model单独进⾏测试。
3. 更加接近Web请求处理的本质。
三、创建ASP.NET MVC
下⾯使⽤Visual Studio2019创建⼀个ASP.NET MVC项⽬,其他版本的Visual Studio创建ASP.NET MVC步骤⼀致。
1、选择⽂件->新建->项⽬
如下图所⽰:
2、选择.NET Framework版本的ASP.NET MVC
如下图所⽰:
3、配置项⽬名称和路径
最后点击“创建”按钮,然后会弹出创建新的ASP.NET Web应⽤程序对话框,该对话框列出了所有ASP.NET应⽤程序共有的⼀些选项,如下图所⽰:
选择模板。
添加框架特定的⽂件夹和核⼼引⽤。
添加单元测试。
配置⾝份验证。
添加Docker⽀持。
选择模板和添加⽂件夹和核⼼引⽤共同起作⽤。模板选择了⼀个起点,然后使⽤框架复选框来添加对WebForms、MVC和Web API的⽀持。这意味着我们可以选择⼀个MVC模板,然后添加Web Forms⽀持,或者可以选择空模板,添加对任意框架的⽀持。这种功能不只在创建新项⽬时可以使⽤:任何时候都可以添加对任意框架的⽀持,因为框架⽂件夹和核⼼引⽤是通过NuGet包添加的。
3.1、选择⼀种应⽤程序模板
下⾯对这些模板进⾏介绍:
空(Empty):可以想见,空模板会建⽴⼀个空的项⽬⾻架。得到的⽂件包括⼀个fig(包含⼀些
默认的⽹站配置设置)和创建项⽬所需的⼏个程序集引⽤,但是仅此⽽已。这个模板不会提供代码,不包含JavaScript或CSS脚本⽂件,甚⾄不会提供⼀个静态的HTML⽂件。
Web Forms:Web Forms模板为ASP.NET Web Forms开发打下基础。
MVC:MVC模板设置⼀个标准的、带⼏个视图的HomeController,配置站点布局,并包含⼀个MVC特定的HTML页⾯。
Web API:使⽤此模板创建的应⽤程序同时⽀持MVC和Web API。包含MVC⽀持,部分是为了显⽰API Help页⾯,它们记录了公有API签名。
单页应⽤程序(Single Page Application):单页应⽤程序模板创建的应⽤程序主要通过JavaScript请求Web API服务驱动,⽽不是采⽤传统的Web页⾯请求/响应周期。
3.2、测试
所有的内置项⽬模板都有⼀个选项,⽤来使⽤样本单元测试创建单元测试项⽬。
推荐选中“创建⼀个单元测试项⽬”复选框
3.3、配置⾝份验证
单击“更改”按钮,可以打开更改⾝份验证对话框,从中可以选择⾝份验证⽅法,如下图所⽰:
对话框中列出了4个选项:
不进⾏⾝份验证:⽤于不需要⾝份验证的应⽤程序,例如没有管理单元的公共⽹站。
个⼈⽤户账户:⽤于在本地存储⽤户配置⽂件(如在SQL Server数据库中存储)的应⽤程序。⽀持⽤户名/密码账号,以及社交认证提供程序。
⼯作或学校账户:⽤于通过某种形式的活动⽬录(包括Azure Active Directory和Office365)进⾏⾝份验证的账户。
Windows⾝份验证:⽤于内部⽹应⽤程序。
这⾥为了演⽰⽅便,选择“不进⾏⾝份验证”
最后点击“创建”按钮,完成ASP.NET MVC应⽤程序的创建:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。