编辑推荐
适读人群 :本书可以作为高等院校计算机专业和相关专业学生学习“.NET架构”和“Web程序设计”等课程的教材,也可以作为Web开发者的参考书。 本书特色
(1)根据ASP.NET项目开发的实际需求,精心组织各章节目录,突出实用;
(2)教材体系严密、循序渐进(从WebForm开发到MVC框架开发),前后呼应;
(3)知识点介绍简明扼要,并有使用实例;
(4)提供了访问数据库SQL Server及MySQL的通用类;
(5)提供了课件和所有案例的源代码下载、上机实验网站http://www.wustwzx.com/asp_net和标准化的习题与答案,方便教学、巩固知识点;
(6)提供了两个综合项目:使用WebForm三层架构模式开发的Flower1和使用MVC 5+EF 6开发的Flower2;
(7)使用新的VS 2015集成开发环境。
内容简介
本书系统地介绍了ASP.NET Web应用开发的基础知识和实际应用,共分8章,包括Web应用开发基础,HTML与CSS+Div布局,客户端脚本及应用(含jQuery),ASP.NET Web项目开发基础,基于WebForm模式的Web项目,ASP.NET MVC框架使用基础,实体模型、EF框架与LINQ查询,MVC 5及EF 6框架深入编程等内容。
本书以实用为出发点,其内容从简单到复杂,循序渐进,结构合理,逻辑性强。每个知识点都有精心设计的典型例子说明其用法,每章都配有标准化的练习题及其答案、上机实验指导。与本书配套的教学网站上有教学大纲、实验大纲、各种软件的下载链接、课件和案例源代码下载、在线测试等。
为了方便教学,本书还配有电子课件等教学资源包,任课教师和学生可以登录“我们爱读书”网(www.ibook4us.com)免费注册并浏览,或者发邮件至hustpeiit@163.com免费索取。
本书可以作为高等院校计算机专业和非计算机专业学生的ASP.NET Web开发课程教材,也可以作为ASP.NET Web编程爱好者的参考书。
目录
第1章 Web应用开发基础 1
1.1 基于B/S体系的动态网站 1
1.1.1 Web服务器及客户端 1
1.1.2 应用层协议HTTP 2
1.2 搭建ASP.NET应用的开发环境 2
1.2.1 VS 2015专业版的安装与基本使用 2
1.2.2 ASP.NET项目及其分类 3
1.2.3 ASP.NET控制台程序 5
1.2.4 创建一个简单的ASP.NET网站 6
1.2.5 使用NuGet下载、引用第三方程序集 7
1.3 关系型数据库及其服务器 8
1.3.1 关系型数据库概述 8
1.3.2 SQL Server 10
1.3.3 MySQL 13
1.4 使用网页三剑客制作网页素材* 15
1.4.1 图形图像处理软件概述 15
1.4.2 使用Fireworks或Photoshop编辑图像 16
1.4.3 使用Flash制作动画 16
1.4.4 切图形成网页素材 17
习题1 18
实验1 Web应用开发基础 19
第2章 HTML与CSS+Div布局 21
2.1 使用超文本标记语言HTML组织页面内容 21
2.1.1 HTML概述 21
2.1.2 在页面里插入图像、音频和视频 24
2.1.3 超链接、热点链接和锚点链接 24
2.1.4 列表 26
2.1.5 表格 26
2.1.6 表单及常用表单元素 27
2.2 使用层叠样式表CSS设置页面元素的外观 31
2.2.1 CSS样式概述、CSS选择器 31
2.2.2 重新定义HTML元素外观、伪类样式 35
2.2.3 内联样式 36
2.2.4 包含了滤镜的样式 36
2.2.5 外部样式 37
2.3 页面布局 38
2.3.1 区域标记 38
2.3.2 用于页面布局的常用CSS样式属性 42
2.3.3 一个采用CSS+Div布局的主页 43
2.3.4 页内框架与框架布局 45
习题2 48
实验2 HTML标记语言、CSS样式与页面布局 49
第3章 客户端脚本及应用 51
3.1 使用JavaScript脚本控制网页的客户端行为 51
3.1.1 JavaScript内置对象和浏览器对象 51
3.1.2 JavaScript变量与常量、流程控制语句 53
3.1.3 在页面里使用JavaScript脚本实现页面的交互效果 55
3.1.4 在页面里使用JavaScript脚本实现页面的动态效果 60
3.1.5 使用JavaScript脚本验证表单 63
3.2 使用JavaScript的功能扩展库jQuery 65
3.2.1 jQuery使用基础 65
3.2.2 jQuery使用示例 67
3.3 使用第三方提供的JS特效脚本 74
3.3.1 制作循环显示的图片新闻 74
3.3.2 实现QQ临时会话 77
3.4 HTML 5简介 77
3.4.1 从HTML 4到HTML 5 77
3.4.2 HTML 5的两个应用实例 78
习题3 80
实验3 客户端脚本与HTML 5的使用 81
第4章 ASP.NET项目开发基础 83
4.1 ASP.NET项目运行环境 83
4.1.1 .NET框架体系与Framework 83
4.1.2 ASP.NET的两种Web编程框架 84
4.1.3 使用Win 7操作系统的计算机的IIS服务器 85
4.1.4 ASP.NET网站工作原理 87
4.2 C#编程及动态调试技术 89
4.2.1 基本概念 89
4.2.2 C#数据类型及运算符 91
4.2.3 变量的作用范围与生命周期 94
4.2.4 流程控制语句及异常处理 95
4.2.5 日期与时间相关类(DateTime结构体) 96
4.2.6 数组、泛型与集合框架 96
4.2.7 自定义C#类、方法、字段与属性 100
4.2.8 ASP.NET项目调试 102
4.3 ASP.NET内置对象 104
4.3.1 响应对象Response 104
4.3.2 请求对象Request 104
4.3.3 会话对象Session与Cookie 105
4.3.4 应用的全局对象Application 106
4.3.5 服务器对象Server 106
4.4 使用数据集访问数据库 109
4.4.1 数据集概述 109
4.4.2 数据集类的创建与使用 109
4.5 使用ADO.NET编程方式访问数据库 112
4.5.1 ADO.NET体系结构 112
4.5.2 SQL Server数据库访问的通用类设计 114
4.5.3 MySQL数据库访问及其通用类设计 118
4.6 在ASP.NET中使用XML 121
4.6.1 XML简介 121
4.6.2 XML基本语法 122
习题4 123
实验4 ASP.NET Web应用开发基础 124
第5章 基于WebForm模式的Web项目 127
5.1 基于WebForm的网站文件系统、窗体模型及语法 127
5.1.1 基于WebForm的网站文件系统 127
5.1.2 窗体模型与PostBack机制 128
5.1.3 窗体页面语法 129
5.2 ASP.NET常用的服务器控件 131
5.2.1 ASP.NET服务器控件概述 131
5.2.2 ASP.NET基本服务器控件 132
5.2.3 ASP.NET验证控件 136
5.2.4 ASP.NET数据绑定控件 137
5.3 母版、Web用户控件和第三方分页控件 144
5.3.1 母版页的创建与使用 144
5.3.2 Web用户控件的创建与使用 145
5.3.3 第三方分页控件AspNetPager的使用 147
5.4 站点地图与导航控件 150
5.4.1 网站导航概述、地图文件与站点数据源控件 150
5.4.2 使用SiteMapPath控件实现面包屑导航 152
5.4.3 使用TreeView控件设计折叠式树形菜单 152
5.4.4 使用Menu控件设计水平弹出式菜单 153
5.5 WebForm项目三层架构 154
5.5.1 三层架构概述 154
5.5.2 搭建Web表示层并添加对其他层的引用 156
5.5.3 搭建数据访问层DAL 157
5.5.4 搭建业务逻辑层BLL并添加对DAL层的引用 157
5.5.5 使用三层架构的鲜花网站Flower1 161
5.6 在WebForm项目中使用Web Service 174
5.6.1 Web服务概述 174
5.6.2 使用Web服务 174
5.6.3 自定义Web服务及其使用 180
5.7 AJAX控件的使用 182
5.7.1 ASP.NET AJAX控件及其作用 182
5.7.2 AJAX应用示例 183
5.7.3 AjaxToolKit控件包的使用 188
5.8 Web环境下的文件与目录操作 190
5.8.1 浏览文件与目录 190
5.8.2 使用FileUpload控件实现文件上传 195
5.8.3 文件读写操作 197
5.9 ASP.NET Web项目的编译发布 206
习题5 210
实验5 基于WebForm的Web项目开发 211
第6章 ASP.NET MVC框架使用基础 215
6.1 基于MVC模式的MVC 5框架 215
6.1.1 关于MVC开发模式 215
6.1.2 MVC 5项目的创建及结构分析 216
6.2 MVC 5控制器 218
6.2.1 控制器抽象类Controller 218
6.2.2 MVC 5控制器相关类 219
6.3 页面视图设计初步 220
6.3.1 视图设计 220
6.3.2 视图模板引擎Razor 222
6.3.3 分部视图、页面布局和视图节 224
6.4 一个简单的MVC 5示例项目 229
习题6 234
实验6 ASP.NET MVC框架使用基础 235
第7章 实体模型、EF框架与LINQ查询 237
7.1 ASP.NET EF实体框架 237
7.1.1 实体框架EF作为对象关系映射ORM产品 237
7.1.2 实体框架EF的引用及主要API 238
7.1.3 数据库上下文类System.Data.DbContext 240
7.1.4 实体集类System.Data.Entity.DbSet 241
7.2 模型类的创建及其相关操作 241
7.2.1 创建模型类 241
7.2.2 模型注解与数据有效性验证规则 241
7.2.3 根据数据表自动创建实体类 242
7.2.4 创建含有模型数据的页面视图 245
7.2.5 控制器里的模型操作 248
7.2.6 在控制器里注解用于处理表单的动作 248
7.3 集成语言查询LINQ 249
7.3.1 LINQ概述 249
7.3.2 LINQ查询及其相关类与接口 250
习题7 262
实验7 模型、EF框架与LINQ查询 263
第8章 MVC 5及EF 6框架深入编程 265
8.1 在ASP.NET MVC项目里使用EF框架 265
8.1.1 使用ASP.NET MVC框架的一般步骤 265
8.1.2 CSS样式与JS脚本文件的优化管理 265
8.1.3 在MVC项目里访问MySQL数据库 267
8.1.4 MVC文件上传与富文本编辑 270
8.2 控制器与视图的高级使用 275
8.2.1 使用PagedList插件实现记录分页导航 275
8.2.2 在视图中使用jQuery UI 277
8.2.3 在MVC项目里使用AJAX技术 279
8.3 EF Code First特性 283
8.4 模型重建与数据迁移 285
8.4.1 当模型修改时自动重建数据库 286
8.4.2 数据迁移 288
8.5 基于MVC+EF框架开发的鲜花网站 290
8.5.1 总体设计 290
8.5.2 网站布局及主页设计 291
8.5.3 前台主要功能设计 296
8.5.4 后台主要功能设计 298
习题8 300
实验8 使用MVC及EF框架开发Web项目 301
习题答案 303
参考文献 306
精彩书摘
第3章
客户端脚本及应用
第3章 客户端脚本及应用
JavaScript(以下简称JS)是一种脚本语言,用于编写页面脚本以实现对网页客户端行为的控制。目前的浏览器大都内嵌了JS引擎,用来执行客户端脚本。同时,网页设计人员还可以使用优秀的JS功能扩展库jQuery或第三方提供的JS脚本。本章的学习要点如下。
?掌握在页面中使用JS脚本的方法。
?掌握JavaScript内置对象实现对表单提交数据有效性的验证。
?掌握使用JS对象和浏览器对象实现页面的交互效果和动态效果。
?掌握jQuery的使用方法。
?掌握使用第三方的JS脚本制作图片新闻的方法。
?了解面向对象设计方法的优点。
?了解HTML 5与HTML 4的区别(新增功能)。
3.1 使用JavaScript脚本控制网页的客户端行为
3.1.1 JavaScript内置对象和浏览器对象
JS是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,如响应用户的各种操作。
如今的浏览器程序一般都嵌入了JavaScript解释程序,用于解释执行嵌入在页面里的JS脚本(程序)。
JS内置了几个重要对象,主要包括日期/时间对象Date、数组对象Array、字符串对象String和数学对象Math等。其中:Date、Array和String是动态对象(本质上是类),它们封装了一些常用的属性和方法,使用前需要使用new运算符创建其实例;而Math是静态对象,不需要实例化就可以直接使用其方法及属性。
对于嵌入到网页中的JS来说,其宿主对象就是浏览器提供的对象,所以又称为浏览器对象。在浏览器对象模型中,顶级对象是Window对象,表示浏览器的窗口,其提供了如下重要方法。
?alert():产生警示消息框方法,警告框在单击确定后消失。
?setTimeout()(或setInterval()):定时器方法,在指定的时间(或周期性地)调用某个方法。
?confirm():产生一个是否型对话框方法,对话完成后对话框关闭。
在浏览器窗口里,可以包含文档、框架和访问历史记录等对象,几个常用的二级对象介绍如下。
?document:表示浏览器窗口里的文档。
?location:表示窗口里文档的位置,使用href属性可实现客户端页面跳转。
?navigator:表示客户端浏览器。
?history:表示历史访问记录。
文档对象document的常用方法如下。
?write(exp):向文档对应的网页窗口输出表达式exp的值。
?getElementsByTagName("tagName"):返回文档里指定标签名的对象的集合。
?getElementById():返回使用ID属性定义的对象。
注意:
(1) 在JS脚本里使用浏览器对象时,浏览器对象名称通常需要小写,这不同于HTML标记名称及其属性名称,使用JS内置对象时,其名称及其方法名需要严格区分大小写。
(2) 使用JS内置对象编程时,其名称及其方法与属性名需要严格区分大小写。
在一个文档里可以包含超链接、图像和表单等,表单又可以包含文本框、下拉列表、提交按钮等。因此,浏览器对象模型具有多级结构,如图3.1.1所示。
图3.1.1 浏览器对象模型简图
为了控制客户端的行为,需要引入面向对象的思想和对象的PEM模型。
类与对象是面向对象编程方式的核心和基础,对象是类的一个实例,类是对一类对象的抽象。通过类可以对零散的用于实现某项功能的代码进行有效管理。
将要处理的问题(对象)抽象为类,并将这类对象的属性和方法封装起来,然后通过对象的事件来访问该类对象的属性和方法来解决实际问题。
任何对象都具有一些属性(property)和方法(method),方法是在一定的事件(event)发生时采用的,这就是对象的PEM模型。
JavaScript支持的浏览器事件有很多,它们可以用于不同的对象,常用事件如表3.1.1所示。
表3.1.1 JavaScript支持的常用浏览器事件
序 号 事 件 名 含义或说明
1 OnClick 单击事件,常用于button类型的命令按钮和超链接
2 OnFocus 获得焦点事件,如激活文本框等对象时触发
3 OnBlur 失去焦点事件,如下拉列表选择、文本框输入确定后触发
4 OnChange 更新后事件,在元素的值发生改变时触发
5 OnLoad Document对象的事件,浏览器完成HTML文档载入时触发
6 OnDblClick 双击事件,常用于button类型的命令按钮
7 OnMouseOver 鼠标位于对象上时
8 OnMouseOut 鼠标从对象上离开时
要在JS中访问DOM(document object model,文档对象模型)元素,就需要标识HTML元素的标记属性。属性ID和Name都可以用来标识一个HTML元素,JavaScript分别有两个方法getElementById()和getElementByName()来定位DOM节点。ID标识的元素外观由与ID属性值相同的#样式决定;在表单表提交到服务器端后,为了取到表单域的值,则需要使用Name属性命名表单域(表单元素)。
注意:在HTML中,Name属性值可以重复,而ID属性值不可重复,是方法getElementById()的要求。
在设计在线测试页面时,其单选题对应的表单元素的Name属性值相同,为此,客户端脚本和服务器脚本分别提交其处理方法。
表单里的元素是页面中的元素,在JS脚本中,除了可以按名称访问外,还可以使用elements[]数组访问。命名访问表单第
ASP.NET Web应用开发教程 电子书 下载 mobi epub pdf txt