第一章 初探ASP .NET MVC

目录

1.1 ASP .NET MVC 简介

1.1.1 ASP .NET MVC 主要概念

1.1.2 ASP .NET MVC5的发展历程

5.ASP .NET MVC每个目录意义

1.2 视图

1.2.1模板页面


1.1 ASP .NET MVC 简介

ASP .NET MVC 框架是MVC 设计模式的实现方式之一。

1.1.1 ASP .NET MVC 主要概念

MVC是一种软件设计模式,即Model(模型)、View(视图)和Controller(控制器)。主要设计目标是将用户接口和逻辑层相互分离,以便开发人员更好地关注逻辑层的设计和测试,并使整程序具备清晰的结构。

MVC执行流程:浏览器请求——控制器——模型——视图——显示结果

Model(模型):实现应用程序数据逻辑的应用程序组件,通常被称为数据模型。模型对象会检索模型状态,并将其存储在数据库中。

View(视图):显示应用程序用户界面(UI)的组件。ASP .NET MVC 支持Razor视图引擎,所以视图推荐使用CSHtml页面,而不是ASPX页面。

Controller(控制器):处理用户交互、使用模型并选择视图来显示界面的组件。在ASP .NET MVC 应用程序中,视图仅显示界面,控制器则用于处理和响应用户输入交互。例如:控制器处理查询字符串值,并将这些值传递给模型,而模型使用这些值来查询数据库。

1.1.2 ASP .NET MVC5的发展历程

1.ASP .NET MVC 1概述

2007年2月,Microsoft公司的Scott Guthrie("ScottGu")飞往美国东海岸参加会议。在旅途中,他草拟编写了ASP .NET MVC的内核程序。这是一个只有几百行代码的简单应用程序,但它却给大部分Microsoft公司的Web开发人员带来了美好前景。ASP .NET MVC1于2009年3月13日正式发布。

2.ASP .NET MVC 2概述

ASP .NET MVC2于2010年3月发布。ASP .NET MVC 2的主要特点:

(1)带有自定义模板和UI辅助程序。

(2)在客户端和服务器端基于特性的模型验证

(3)强类型HTML辅助程序

(4)改善的Visual Studio开发工具

ASP .NET MVC 2中增加了许多的API功能以增强其专业性,具体如下:

(1)支持将大型应用程序划分为减

(2)支持异步控制器

(3)使用Html.RenderAction支持渲染网页或网站的某一部分

(4)许多新的辅助函数、使用工具和API增强

3.ASP .NET MVC 3概述

在Web Matrix 发布的推动下,ASP .NET MVC 3在ASP .NET MVC 2发布之后的第10个月推出,ASP .NET MVC3的主要特点如下:

(1)支持Razor视图引擎

(2)支持 .Net 4数据注解

(3)改进了模型验证

(4)提供更强的控制和更大的灵活性,支持依赖项解析和全局操作过滤器。

(5)丰富的JavaScript支持,其中包括非侵入式JavaScript、Jquery验证和Json绑定。

(6)支持NuGet,可以用来发布软件,管理整个平台的依赖。

Razor语法易于输入和阅读,不像传统的Web Forms视图引擎那样具有类似于XML的繁杂语法规则

4.ASP .NET MVC 4概述

它的主要功能如下:

(1)支持ASP .NET Web API的功能

(2)增强了默认的项目模板

(3)添加了使用JQuery Mobile的手机项目模板

(4)支持显示模式(Display Mode)

(5)支持异步控制器的任务

5.ASP .NET MVC每个目录意义

①/App_Data:数据的物理存储区,即本地化的数据库文件或数据文件

②/App_Start:包含多个静态配置类,执行应用程序的初始化任务

③/Content:放置应用程序的静态内容,如CSS、可下载的文件及音乐文件等。

④/Controllers:放置控制器文件。控制器文件是后缀名为.cs或.vb的类文件

⑤/Models:放置数据模型对象的文件,如.cs、.vb、.edmx和.dbml等。

⑥/Scripts:放置JavaScript、jQuery文件,文件后缀名通常为.js

⑦/Views:放置视图文件,文件后缀名为.cshtml或.aspx

⑧/Global.asax:全局应用程序类文件

⑨/Web.config:应用程序配置文件

1.2 视图

视图基架类型——

基架描述
Create创建一个视图,其中带有创建模型新实例的表单,并为模型类型的每一个属性生成一个标签和输入框
Delete创建一个带有删除现有模型实例的表单,并为模型的每一个属性显示一个标签以及当前该属性的值
Details创建一个包含了模型类型的每一个属性的标签及其响应值
Edit创建一个带有编辑现有模型实例的表单,并为模型类型的每一个属性生成一个标签和输入框
Empty创建一个空视图,使用@model语法指定模型类型
Empty(without model)与Empty基架一样创建一个空视图。但是,由于这个基架没有模型,因此选择此基架模型不需要选择模型类型。这是唯一不需要选择模型类型的一个基架类型(常用)
List创建一个带有模型实例表的视图,为模型类型的每一个属性生成一列,确保操作方法向视图传递的是IEnumerable<YourModelType>类型。同时为了执行创建/编辑/删除操作,视图中还包含了指向操作的链接(数据管理常用)

1.2.1模板页面

1._ViewStart.cshtml

该文件默认位置:/Views/_ViewStart.cshtml。它的特点是预加载。在Views目录下的任何视图页面被载入前,_ViewStart.cshtml会预先加载,即页面执行前,会寻找是否存在此文件,如果存在,则先载入_ViewStart.cshtml执行。

打开该为念,默认代码仅有一句@{Layout="~/Views/Shared/_Layout.cshtml";},表示Views目录下的所有视图,以/Views/Shared/_Layout.cshtml为布局模板页面。

2._Layout.cshtml

该文件的默认位置:/Views/Shared/_Layout.cshtml。它通常称为布局页、母版视图和模板页等,它有两段特别的Razor声明。

(1)@RenderBody。它起到“body占位符的作用”,将_Layout.cshtml作为母版页的子视图页面,在没有特别声明的情况下,子视图页面的所有内容填入到_Layout.cshtml的@RenderBody所在位置。该方法不需要参数,而且只能在视图页面中出现一次。

(2)RenderSection。它的作用是“块占位符”,即以指定名称的方式,将子页面中定义的代码块填入到_Layout.cshtml的@RenderSection所在位置。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值