内容简介
ASP.NET是目前微软最新的Web应用开发平台,ASP.NET 4.5不仅在语言和技术上弥补了原有ASP.NET 4.0的不足,还提供了很多新的控件和特色,以提升开发人员的生产力。
万事开头难,尤其是第一次接触ASP.NET编程的读者,要快速掌握ASP.NET开发并不容易。《ASP.NET编程入门与应用》结合教学特点进行编写,通过浅显易懂的范例,配合ASP.NET 4.5基础知识,由浅入深地讲述ASP.NET网站开发技术。本书示例短小却又能体现出知识点,可以让读者很轻松地学习,并能灵活地应用到实际的软件项目中。
《ASP.NET编程入门与应用》共分为18章,主要内容包括HTML和JavaScript的应用、搭建ASP.NET 4.5开发环境、Web窗体结构和常用页面指令、验证控件、内置请求和处理对象、导航控件和母版页模板、ADO.NET数据库编程、数据绑定、GridView控件、分页的实现,以及文件上传与下载等。同时,也介绍了ASP.NET 4.5的一些高级开发技术,像读取XML的数据、LINQ to SQL操作数据库、Ajax无刷新技术和WCF技术。最后一章介绍了常用的ASP.NET开发技巧,如图片加水印、使用验证码、绘制饼图和柱状图等。 《ASP.NET编程入门与应用》可作为在校大学生学习使用ASP.NET进行课程设计的参考资料,也适合作为高等院校相关专业的教学参考书,还可以作为非计算机专业学生学习ASP.NET语言的参考书。
前言
ASP.NET是微软公司推出的动态Web应用程序开发平台,它可以把程序开发人员的工作效率提高到用其他技术都无法比拟的程度。与Java、PHP、Perl等相比,ASP.NET具有方便、灵活、性能优越、生产效率高、安全性高、完整性强及面向对象等特点,是目前主流的网络编程工具之一。ASP.NET支持多种开发语言,本书以C#语言为例,采用最新的ASP.NET 4.5版本,以及对应的Visual Studio 2015开发工具。本书内容全书共分18章,主要内容如下。第1章 HTML静态网页设计快速入门。对设计静态网页所需掌握的HTML和CSS进行详细讲解,包括HTML文档结构、HTML的各种标记、CSS语法和属性等。第2章 JavaScript脚本编程快速入门。介绍JavaScript的基础知识,包括JavaScript语言的语法规则、运算符、流程控制语句、函数以及各种对象的用法等内容。第3章 ASP.NET技术入门知识。首先介绍ASP.NET的概念、框架的基础,以及开发工具Visual Studio 2015的安装,然后讲解开发ASP.NET网站的步骤。第4章 ASP.NET的Web页面语法。介绍Web窗体与网站之间的区别、Web窗体的运行过程,重点讲解常用的ASP.NET页面指令。第5章 Web基础控件和验证控件。详细介绍ASP.NET中最常用的服务器控件和验证控件,如Button控件、Panel控件、DropDownList控件,以及各种验证控件,如不能为空和验证必须符合规则等。第6章页面请求与响应对象。主要向读者介绍ASP.NET中的Request对象、Response对象、Page对象和Server对象。第7章数据保存和缓存对象。主要介绍ASP.NET中的数据保存对象,如Cookie对象、Session对象和Application对象等。第8章导航控件和母版页。介绍常用的导航控件、母版页及主题的相关知识,包括SiteMapPath控件、站点地图、TreeView控件、母版页和内容页、主题的加载以及用户控件的使用。第9章 ADO.NET数据库编程。主要介绍如何以ADO.NET连接数据库、执行SQL语句、读取数据,以及操作结果集的方法和对象等。第10章 数据绑定和数据源控件。首先介绍如何从结果集中绑定数据到页面,然后介绍常用的数据源控件,如SQLDataSource和XmlDataSource。第11章数据服务器控件。主要介绍用于显示数据的服务器控件,如Repeater控件、DataList控件、GridView控件和Details控件,以及分页的实现。第12章处理目录和文件的常用类。首先针对System.IO命名空间进行介绍,然后详细介绍如何利用有关类获取磁盘信息、操作相关的目录和文件等内容。第13章操作XML。首先介绍XML文档的构成,然后重点介绍如何加载XML内容,写入内容,对内容进行修改等操作。第14章配置文件和网站部署。主要对ASP.NET配置文件Web.Config的结构进行详解,同时介绍发布和复制网站的方法。第15章 LINQ技术。介绍LINQ的组成部分、各子句的应用及LINQ to SQL操作数据库的方法。第16章 ASP.NET Ajax技术。首先介绍原生Ajax与ASP.NET的结合使用,然后介绍ASP.NET Ajax的核心控件及其扩展包。第17章 WCF技术。介绍如何创建和调用一个WCF服务,同时介绍WCF的核心组成部分,如地址、绑定、合约和端点。第18章 ASP.NET实用开发技巧。介绍几种常见的ASP.NET开发实用技术,如给图片批量加水印、实现一个验证码、记录日志信息、发送邮件,以及绘制图表等。本书特色本书内容配合大量的实例进行讲解,力求通过实际操作使读者能更容易地学会使用ASP.NET开发应用程序。本书难度适中,内容由浅入深,实用性强,覆盖面广,条理清晰。知识点全本书紧密围绕ASP.NET网站程序开发展开讲解,具有很强的逻辑性和系统性。实例丰富书中各实例均经过作者精心设计和挑选,都是根据作者在实际开发中的经验总结而来的,涵盖了在实际开发中所遇到的各种问题。应用广泛对于精选案例,给出了详细步骤,结构清晰简明、分析深入浅出,而且有些程序能够直接在项目中使用,可避免读者进行二次开发。基于理论,注重实践在讲述过程中,不仅介绍理论知识,而且还在合适位置安排综合应用实例,或者小型应用程序,将理论应用到实践中,以加强读者的实际应用能力,巩固所学的知识。贴心的提示为了便于读者阅读,全书还穿插着一些技巧、提示等小贴士,体例约定如下。提示:通常是一些贴心的提醒,让读者加深印象或为读者提供建议,或提出解决问题的方法。注意:提出学习过程中需要特别注意的一些知识点和内容,或者相关信息。技巧:通过简短的文字,指出知识点在应用时的一些小窍门。读者对象本书具有知识全面、实例精彩、指导性强的特点,力求以全面的知识性及丰富的实例来指导读者透彻地学习ASP.NET开发技术各方面的知识。本书重点面向的读者如下:ASP.NET 初学者以及在校学生。大中专院校的在校学生和相关授课老师。准备从事软件开发的人员。其他从事ASP.NET 应用程序开发技术的人员。本书由李鑫、刘爱江编著,参与本书编写及设计工作的还有郑志荣、侯艳书、刘利利、侯政洪、肖进、李海燕、侯政云、祝红涛、崔再喜、贺春雷等。在本书的编写过程中,我们虽然力求精益求精,但难免存在一些不足之处,希望广大读者批评指正。编 者
目录
第1章 HTML静态网页设计快速入门1.1 HTML的概念 21.2 HTML的文档结构 21.2.1 文档编写规范 31.2.2 文档声明标记 31.2.3 标记文档开始 51.2.4 标记文档头部 51.2.5 标记文档主体 61.2.6 编写HTML时的注意事项 61.2.7 高手带你做——创建第一个HTML文档 71.3 文档基础标记 81.3.1 元信息标记 81.3.2 字体标记 91.3.3 超链接标记 131.3.4 水平线标记 141.3.5 段落标记 151.4 列表标记 181.4.1 编号列表 181.4.2 项目符号列表 191.4.3 说明性项目列表 191.5 表格标记 201.5.1 表格的结构 211.5.2 表格的属性 221.6 表单标记 251.6.1 创建表单 251.6.2 创建表单元素 251.7 高手带你做——制作卡通类页面 281.8 CSS样式 301.8.1 CSS简介 301.8.2 CSS样式语法 311.8.3 CSS属性 321.8.4 使用CSS的方式 361.9 高手带你做——制作网页导航条 371.10 高手带你做——制作文本环绕图片 391.11 成长任务 40第2章 JavaScript脚本编程快速入门2.1 JavaScript语言简介 422.1.1 JavaScript简介 422.1.2 JavaScript与Java的关系 422.1.3 JavaScript的语法规则 432.2 编写JavaScript程序 442.2.1 集成JavaScript程序 442.2.2 使用外部JavaScript文件 452.2.3 注意事项 462.3 JavaScript脚本的语法 472.3.1 数据类型 472.3.2 变量与常量 482.3.3 运算符 492.4 脚本控制语句 522.4.1 if条件语句 522.4.2 switch条件语句 542.4.3 while循环语句 552.4.4 do while循环语句 552.4.5 for循环语句 562.4.6 for in循环语句 562.4.7 对话框语句 572.5 函数 592.5.1 系统函数 592.5.2 自定义函数 602.6 常用对象 612.6.1 Array对象 612.6.2 Document对象 622.6.3 HTML DOM Event对象 632.6.4 Window对象 642.7 高手带你做——长方体几何计算 652.8 成长任务 66第3章 ASP.NET技术入门知识3.1 ASP.NET概述 683.1.1 ASP.NET简介 683.1.2 ASP.NET的优势 683.1.3 与ASP的区别 693.2 .NET Framework 693.2.1 .NET Framework简介 693.2.2 公共语言运行时 703.2.3 类库 713.3 ASP.NET开发工具——VS 2015 723.3.1 什么是VS 723.3.2 VS的发展历程 723.3.3 VS 2015的新功能 733.4 高手带你做——安装VS 2015 743.5 高手带你做——创建第一个ASP.NET网站 783.6 成长任务 82第4章 ASP.NET的Web页面语法4.1 Web应用程序和网站 844.1.1 Web应用程序 844.1.2 Web网站 854.1.3 比较Web应用程序和Web网站 864.2 Web窗体页 874.2.1 Web窗体页的特点 874.2.2 Web窗体页的元素 874.2.3 认识Web窗体页 884.2.4 高手带你做——了解ASPX页面的处理过程 894.2.5 页面的生命周期 894.2.6 页面生命周期事件 904.3 页面指令 914.3.1 @Page指令 914.3.2 @Control指令和@Register指令 934.3.3 @Master指令 944.3.4 @MasterType指令 944.3.5 @Import指令 944.3.6 @Implements指令 954.3.7 @Reference指令 954.3.8 @Assembly指令 954.3.9 @OutputCache指令 954.3.10 @PreviousPageType指令 964.4 高手带你做——允许页面提交HTML标签 964.5 成长任务 97第5章 Web基础控件和验证控件5.1 Web服务器控件 1005.1.1 控件分类 1005.1.2 HTML服务器控件 1005.1.3 Web服务器控件 1015.1.4 区分两种服务器控件 1025.2 文本输入控件 1025.2.1 Label控件 1025.2.2 Literal控件 1035.2.3 HyperLink控件 1035.2.4 TextBox控件 1045.3 按钮控件 1065.3.1 Button控件 1065.3.2 其他按钮控件 1075.4 选择控件 1085.4.1 RadioButton控件 1085.4.2 RadioButtonList控件 1105.4.3 CheckBox控件 1115.4.4 CheckBoxList控件 1125.5 列表控件 1145.5.1 BulletedList控件 1145.5.2 DropDownList控件 1155.5.3 ListBox控件 1175.6 常用验证控件 1185.6.1 验证控件概述 1195.6.2 RequiredFieldValidator控件 1195.6.3 RangeValidator控件 1215.6.4 CompareValidator控件 1215.6.5 RegularExpressionValidator控件 1225.6.6 CustomValidator控件 1235.6.7 ValidationSummary控件 1255.7 其他常见控件 1265.7.1 图像控件 1265.7.2 AdRotator控件 1285.7.3 Calendar控件 1305.7.4 高手带你做——Wizard控件 1315.8 高手带你做——个人用户信息注册 1335.9 成长任务 136第6章 页面请求与响应对象6.1 Request对象 1386.1.1 Request对象概述 1386.1.2 获取客户端信息 1386.1.3 获取浏览器头信息 1396.1.4 获取浏览器客户端信息 1406.1.5 获取窗体变量集合 1416.1.6 高手带你做——获取HTTP查询字符串变量集合 1426.2 Response对象 1436.2.1 Response对象概述 1446.2.2 实现页面跳转 1456.2.3 输出HTML文本 1466.2.4 高手带你做——借助FileStream对象输出图像 1476.3 Server对象 1486.3.1 Server对象概述 1486.3.2 获取文件的物理路径 1496.3.3 实现页面转发 1506.3.4 对HTML编码和解码 1516.3.5 高手带你做——Server对象对URL汉字编码和解码 1536.4 Page对象 1556.4.1 页面的生命周期 1556.4.2 Page对象概述 1576.4.3 判断页面首次加载 1576.4.4 输出客户端脚本 1586.5 成长任务 160第7章 数据保存和缓存对象7.1 Cookie对象 1627.1.1 Cookie对象概述 1627.1.2 Cookie的生命周期 1637.1.3 Cookie对象的属性 1637.1.4 Cookie的写入和读取 1637.1.5 Cookie的常见操作 1647.1.6 高手带你做——利用Cookie防止重复投票 1677.2 Session对象 1697.2.1 Session对象概述 1697.2.2 Session的存储和读取 1707.2.3 Session的属性和方法 1717.2.4 设置Session的销毁时间 1717.2.5 Session的丢失原因 1727.2.6 Session记录用户登录状态 1737.2.7 高手带你做——基于Session的购物车实现 1747.3 Application对象 1777.3.1 Application对象概述 1777.3.2 了解Global.asax文件 1787.3.3 Application对象的简单使用 1797.4 高手带你做——Cache对象实现页面缓存 1807.5 成长任务 181第8章 导航控件和母版页8.1 了解站点地图文件 1848.1.1 导航控件简介 1848.1.2 创建站点地图文件 1848.1.3 高手带你做——制作购物系统站点地图文件 1868.2 SiteMapPath控件 1878.3 TreeView控件 1888.3.1 TreeView简介 1898.3.2 TreeView的简单应用 1908.3.3 高手带你做——使用XML数据源 1918.3.4 TreeNode对象 1938.3.5 TreeView样式 1948.4 Menu控件 1968.4.1 Menu控件简介 1968.4.2 Menu控件添加菜单项 1978.4.3 高手带你做——使用XML数据源 1998.4.4 自动套用格式 2018.5 母版页 2018.5.1 网页典型布局 2028.5.2 母版页 2028.5.3 内容页 2038.5.4 高手带你做——制作后台模板 2048.6 主题 2068.6.1 主题与外观文件 2078.6.2 主题的创建 2088.6.3 高手带你做——切换字体颜色 2098.6.4 Theme和StylesheetTheme的比较 2118.7 用户控件 2118.7.1 用户控件简介 2118.7.2 创建用户控件 2128.7.3 WebForm与用户控件之间的转换 2138.8 成长任务 214第9章 ADO.NET数据库编程9.1 ADO.NET技术和数据库 2169.1.1 了解ADO.NET技术 2169.1.2 ADO.NET提供的数据库对象 2169.1.3 数据库简述 2179.2 连接数据库 2189.2.1 SqlConnection对象 2189.2.2 打开数据库连接 2199.2.3 关闭数据库连接 2209.3 执行SQL语句 2219.3.1 SqlCommand对象 2219.3.2 获取数据总记录 2229.3.3 删除数据 2239.3.4 SqlParameter对象 2249.4 读取数据 2269.4.1 SqlDataReader对象 2269.4.2 查询数据库表的数据 2269.5 操作数据集 2289.5.1 DataSet对象 2289.5.2 SqlDataAdapter对象 2309.5.3 填充数据集 2319.5.4 合并数据集 2319.6 其他常用对象 2339.6.1 DataTable对象 2339.6.2 DataView对象 2359.7 高手带你做——XML作为数据源绑定数据集 2369.8 SQLHelper帮助类 2389.8.1 SQLHelper类概述 2389.8.2 创建SQLHelper类 2389.8.3 高手带你做——SQLHelper类操作数据 2409.9 成长任务 242第10章 数据绑定和数据源控件10.1 数据绑定基础 24410.1.1 数据绑定概述 24410.1.2 常见的绑定方式 24410.1.3 Eval()和Bind()方法绑定 24710.2 数据源控件概述 24810.2.1 数据源控件的层次结构 24810.2.2 常用的数据源控件 24810.3 SqlDataSource控件 24910.3.1 SqlDataSource控件概述 24910.3.2 SelectCommand执行SQL语句 25010.3.3 SelectCommand执行存储过程 25110.3.4 将参数传递给SQL语句 25210.3.5 通过属性窗格操作数据 25310.4 高手带你做——为SqlDataSource配置数据源 25410.5 XmlDataSource控件 25710.5.1 XmlDataSource控件概述 25710.5.2 用XmlDataSource转换XML数据 25910.5.3 用XmlDataSource筛选XML数据 26010.6 高手带你做——XPath绑定表达式到数据项 26110.7 成长任务 263第11章 数据服务器控件11.1 数据绑定控件简介 26611.2 Repeater控件 26711.2.1 Repeater控件简介 26711.2.2 Repeater控件的常用属性 26811.2.3 Repeater控件的常用事件 27011.3 DataList控件 27411.3.1 DataList控件简介 27411.3.2 DataList控件的常用属性 27411.3.3 DataList控件的常用事件 27611.3.4 设置格式 27811.3.5 其他操作 27811.4 高手带你做——分页显示应用信息 27911.5 GridView控件 28311.5.1 GridView控件简介 28311.5.2 GridView控件的常用属性 28611.5.3 GridView控件的常用事件 28911.5.4 高手带你做——GridView控件实现分页 29211.6 DetailsView控件 29411.6.1 DetailsView控件简介 29411.6.2 DetailsView控件的常用属性 29511.6.3 DetailsView控件的常用事件 29711.7 ListView控件 29811.8 DataPager控件 30011.9 成长任务 302第12章 处理目录和文件的常用类12.1 System.IO命名空间 30412.1.1 关于数据流 30412.1.2 关于System.IO空间 30412.2 高手带你做——获取磁盘空间信息 30512.3 目录操作类 30712.3.1 Directory类 30712.3.2 DirectoryInfo类 30912.4 目录基本操作 31012.4.1 创建目录 31012.4.2 遍历目录 31112.4.3 移动目录 31312.4.4 删除目录 31412.5 文件操作类 31512.5.1 File类 31512.5.2 FileInfo类 31612.6 文件的基本操作 31712.6.1 创建文件 31712.6.2 复制文件 31812.6.3 移动文件 31912.6.4 删除文件 32012.7 文本文件的常见操作 32012.7.1 写入文件 32012.7.2 读取文件 32212.8 文件的高级操作 32412.8.1 文件上传 32412.8.2 文件下载 32712.9 高手带你做——如何实现文件加密与解密 33012.10 成长任务 333第13章 操作XML13.1 XML快速入门 33513.1.1 XML简介 33513.1.2 XML基本结构 33513.1.3 XML声明 33613.1.4 XML实体 33613.1.5 高手带你做——创建水果信息XML文件 33713.1.6 命名空间 33813.2 System.Xml命名空间简介 33813.3 基于流的XML处理 33913.3.1 写入内容 34013.3.2 高手带你做——生成水果信息XML文件 34113.3.3 读取内容 34313.3.4 高手带你做——显示水果列表 34513.4 DOM处理XML 34613.4.1 DOM简介 34613.4.2 XmlDocument类 34713.4.3 XmlNode类 35013.4.4 XmlNodeList类 35113.4.5 节点类型 35113.4.6 高手带你做——操作APP信息 35213.5 高手带你做——Repeater控件遍历XML 35913.6 成长任务 361第14章 配置文件和网站部署14.1 了解配置文件 36414.1.1 配置文件概述 36414.1.2 配置文件及其说明 36414.1.3 配置文件的保存和加载 36514.2 了解Web.config文件 36614.2.1 Web.config文件的优点 36614.2.2 创建Web.config文件 36714.2.3 配置文件结构 36714.2.4 Web.config的常用配置节 36914.2.5 <system.web>配置节 37214.3 网站部署和发布 37514.3.1 通过“发布网站”工具发布 37514.3.2 通过“复制网站”工具发布 38014.4 高手带你做——通过XCOPY工具进行发布 38214.5 成长任务 384第15章 LINQ技术15.1 LINQ概述 38615.1.1 LINQ简介 38615.1.2 LINQ分类 38615.1.3 LINQ语句的语法 38715.1.4 LINQ查询表达式 38815.2 LINQ的基本应用 38815.2.1 from子句 38915.2.2 select子句 39015.2.3 where子句 39215.2.4 orderby子句 39315.2.5 group子句 39415.3 高手带你做——关联部门和人员信息 39515.3.1 内部联接 39615.3.2 分组联接 39715.3.3 左外联接 39715.4 查询方法 39815.4.1 查询方法简介 39915.4.2 筛选数据 40015.4.3 排序 40115.4.4 分组 40215.4.5 取消重复 40215.4.6 聚合 40315.4.7 联接 40415.5 LINQ to SQL 40515.5.1 OR设计器简介 40515.5.2 DataContext类简介 40715.5.3 SubmitChanges()方法简介 40915.6 高手带你做——管理商品信息 41015.6.1 插入商品数据 41015.6.2 更新商品数据 41115.6.3 删除商品数据 41315.7 高手带你做——查看带分类的图书信息 41415.8 成长任务 415第16章 ASP.NET Ajax技术16.1 Ajax原生技术 41816.1.1 Ajax简介 41816.1.2 XMLHttpRequest对象简介 41816.1.3 高手带你做——读取异步提交的项目信息 42116.1.4 高手带你做——读取用户列表 42416.1.5 高手带你做——处理JSON 42616.2 ASP.NET Ajax简介 42816.3 ScriptManager控件 42916.3.1 ScriptManager简介 42916.3.2 ScriptManager控件的应用 43016.4 UpdatePanel控件 43316.4.1 UpdatePanel简介 43316.4.2 异步更新的限制 43516.4.3 UpdateProgress控件 43616.4.4 高手带你做——无刷新加载备注信息 43616.5 Timer控件 43916.6 成长任务 441第17章 WCF技术17.1 WCF概述 44417.1.1 WCF简介 44417.1.2 WCF组成部分 44517.2 高手带你做——创建第一个WCF服务程序 44617.3 WCF的核心元素 45117.3.1 地址 45117.3.2 绑定 45317.3.3 合约 45517.4 端点 45917.4.1 通过配置文件方式定义端点 45917.4.2 通过编程方式定义端点 46117.5 成长任务 462第18章 ASP.NET实用开发技巧18.1 ASP.NET模块和处理程序 46418.1.1 HTTP模块 46418.1.2 HTTP处理程序 46418.1.3 IHttpModule和IHttpHandler 46518.1.4 实现局部水印 46518.1.5 实现批量图片水印 46818.2 实现防盗链 47018.3 验证码 47118.3.1 验证码控件 47118.3.2 自定义验证码类 47418.4 可视化编辑器 47918.5 日志记录组件 48118.6 发送邮件 48318.7 文件压缩和解压缩 48618.7.1 在线压缩ZIP文件 48618.7.2 在线解压文件 48918.8 操作INI文件 49118.9 对象的序列化和反序列化 49418.10 绘制饼形图和柱状图 49618.10.1 绘制饼形图 49618.10.2 绘制柱状图 499