内容简介
本书采用C#语言作为ASP.NET Web应用程序的开发语言,以Visual Studio为开发平台,通过简单实用的实例全面介绍使用ASP.NET进行Web程序开发的常用技术。本书第1~7章主要介绍ASP.NET的基础知识、ASP.NET的内置对象、Web服务器控件、验证控件、网页布局技术、Web数据库编程基础等内容;第8~11章介绍网站设计中几个常用的功能模块,包括注册登录模块、在线投票模块、留言板模块、文件上传下载模块等;第12章介绍一个综合的ASP.NET应用开发案例。
本书可作为高等院校计算机相关专业的教材,也可供具有一定编程经验又需要迅速熟悉ASP.NET的读者参考,同时也适合自学ASP.NET的读者阅读。
前 言
一、关于ASP.NET
ASP.NET是微软公司推出的Web开发平台,是一种建立在公共语言运行库(Common Language Runtime,CLR)上的编程框架,可用于在服务器上开发功能强大的Web应用程序。它是目前技术最先进、特征最丰富、功能最强大的Web开发平台之一。ASP.NET自推出以来,具有开发效率高、使用简单快捷、管理更简单、全新的语言支持、安全性高等特点,是目前主流网络编程技术之一。
ASP.NET中内置了很多控件,在其他Web开发技术(如JSP)中需要费尽心思才能完成的功能,在ASP.NET中只需要简单地套用相应的内置控件即可完成。ASP.NET在数据库连接方面做了很大的改进,新增的DataSource控件和GridView控件使得数据库的操作更加简捷方便。
二、本书结构
本书在第1版的基础上,进行了如下改进:采用目前市场上较流行的开发工具版本,版本更高,提供的功能更多;增加了IIS(Internet Information Services,互联网信息服务)的安装过程,以及网站的发布与部署;增加了DIV+CSS布局基础知识,使得页面的设计更轻松、美观;将第1版中第5章页面结构与配置文件的内容分散到其他章节,并删除了一些冗余的段落和文字;在第1章至第6章中,增加了多个实战案例,便于在学习基础知识的同时,掌握案例的设计与应用;在第7章中,增加了程序的调试过程,使读者能更清晰地看到各个数据的变化过程;补全了第12章中其他所有功能的设计与实现,使之成为一个功能齐全的Web应用程序;修正了第1版中部分程序源码的笔误,确保程序的正确性和可行性。
本书内容由浅入深,首先介绍ASP.NET编程必须掌握的基本技术,并安排了对该章知识点综合应用的实战案例,非常适合初学者入门学习;然后介绍实际开发中常用的模块,这部分内容适合初、中级读者学习编程技术;最后通过一个综合实例讲解实际项目的开发过程,其目的是快速提高读者的实战编程能力。
各章的主要内容简述如下。
第1章介绍网站发展历史、.NET框架、Visual Studio开发环境、创建第一个ASP.NET程序、aspx文件和aspx.cs文件,以及发布和部署网站等内容。
第2章介绍ASP.NET语言基础,包括C#语言基础、XHTML标记语言、CSS简介、DIV+CSS布局等内容。
第3章介绍ASP.NET内置对象,包括Page对象、Response对象、Request对象、Server对象、Application对象、Session对象和Cookie对象等内容。
第4章介绍Web服务器控件,包括基本控件、选择控件、列表控件和高级控件等内容。
第5章介绍验证控件的使用方法。
第6章介绍常用的网页布局技术,包括ASP.NET用户控件、母版页和内容页,以及导航控件等内容。
第7章介绍Web数据库编程基础,包括SQL语言,ADO.NET概述,Connection对象,Command对象,DataReader对象,DataAdapter对象,DataSet对象,插入、编辑、删除数据,数据绑定,数据控件,配置文件Web.config,以及程序调试等内容。
第8章介绍开发Web应用程序常用的模块--注册登录模块,并详细介绍验证码生成的过程。
第9章介绍开发Web应用程序常用的模块--在线投票模块,并详细介绍XML文档的使用,以及以图片形式显示结果的过程。
第10章介绍开发Web应用程序常用的模块--留言板模块,并详细介绍留言板的制作过程,为后面论坛系统的制作奠定基础。
第11章介绍开发Web应用程序常用的模块--文件上传下载模块,并详细介绍数据库保存图片数据的过程。
第12章介绍使用Visual Studio与SQL Server设计一个完整的实例--BBS论坛系统,详细讲解一个项目的开发过程,使读者对Web应用程序的开发有一个较系统的理解。
三、本书特点
1. 循序渐进,通俗易懂
本书所讲的内容避开了晦涩难懂的理论知识,但又覆盖了使用ASP.NET技术进行Web编程所需要的各方面的基础知识,并从基本操作开始,循序渐进地介绍了开发Web应用程序需要用到的基本技术。采用通俗易懂的语言,一步一步、手把手地教会您各种技术的使用,宛如现场专家言传身教。
2. 项目驱动,案例教学
本书不采用传统的"以概念解释为主"的方式,而采用"以项目为驱动,实践为主"的方式描述完成每一个任务的方法和步骤。每一个任务的提出,都伴随着一个完整的实例,读者通过完成此实例,就能掌握相关的基本概念和技术。
3. 步骤详细,图文并茂
本书在介绍ASP.NET的各项技术时,采用了项目实践的方式,且在讲解中步骤详细,图文并茂,读者只需要根据步骤一步步操作,边学边练,就可以掌握相关的技能,并从中找到学习ASP.NET的乐趣。
4. 结构合理,符合软件技术专业人才培养目标
作者在编写此书时充分考虑了现代教育的特点,旨在培养具有较高水平、较高素质的技能型人才。本书结构合理,能让读者轻松上手,快速掌握相关内容,全面提高学、练、用的能力。
在结构上,本书先用少量篇幅介绍了ASP.NET技术的语言基础,使读者在学习ASP.NET技术之前对相关知识有所了解。
在介绍ASP.NET技术时,作者并不急于解释相关概念,而是将这些技术融入一个个小案例中,使读者在实践中进行探索、分析和创新,从而掌握这些理论知识。同时介绍了目前网络比较流行的几个网站功能模块,读者只需要作少许的修改和扩展,便可应用于实际项目中。
通过对本书的阅读,读者应能达到如下能力目标。
(1) 对简单网站进行设计、编辑、调试、运行的能力。
(2) 对ASP.NET各类控件的使用能力。
(3) 对网站数据库进行管理和维护的能力。
(4) 应用所学知识开发三层架构应用程序的能力。
四、本书适用对象
本书可作为高等院校计算机相关专业的教材,也可供具有一定编程经验又需要迅速熟悉ASP.NET的读者参考,同时也适合自学ASP.NET的读者阅读。
本书由年轻而富有经验的.NET软件技术研究小组组织编写,由魏菊霞任主编,李志中、谢云任副主编,相信本书能够为读者顺利进入ASP.NET编程世界提供帮助。
本书的编写得到了学院领导的大力支持,在此表示衷心的感谢。
尽管作者已经尽了各种努力来保证语言和代码中不出现错误,但由于编写时间仓促,水平有限,书中疏漏和不足之处在所难免,恳请各位读者和专家批评指正,提出宝贵意见和建议。
编 者
目 录
第1章 新手入门 11.1 网站发展历史 11.1.1 静态页面和动态页面 11.1.2 ASP.NET简介 31.1.3 C/S模式和B/S模式 41.2 .NET框架 51.2.1 公共语言运行库 51.2.2 .NET框架类库 51.3 Visual Studio开发环境 61.3.1 Visual Studio的安装 61.3.2 Visual Studio开发环境介绍 71.3.3 Visual Studio主界面介绍 111.4 创建第一个ASP.NET应用程序 121.5 aspx文件和aspx.cs文件 161.6 发布和部署网站 201.6.1 发布网站 201.6.2 IIS的安装与配置 22小结 25习题 25第2章 ASP.NET语言基础 272.1 C#语言基础 272.1.1 数据类型 272.1.2 标识符 282.1.3 常量和变量 282.1.4 运算符和运算符表达式 292.1.5 流程控制语句 302.1.6 面向对象的知识 332.2 XHTML标记语言 382.2.1 XHTML的基本结构 382.2.2 头标签<head> 392.2.3 其他常用标签 402.2.4 表格 412.3 CSS简介 422.3.1 CSS 的三种样式 432.3.2 CSS的基础语法 432.4 DIV+CSS布局 452.4.1 拐角型页面的设计 452.4.2 用户登录页面的设计 482.5 实战:猜数游戏 50小结 59习题 59第3章 ASP.NET内置对象 623.1 ASP.NET 内置对象概述 623.2 Page对象 623.2.1 IsPostBack属性 633.2.2 Init事件 633.2.3 Load事件 633.2.4 ClientScript属性 663.3 Response对象 673.3.1 输出数据(Write方法) 683.3.2 地址重定向(Redirect方法) 683.3.3 停止输出(End方法) 693.4 Request对象 713.4.1 从浏览器获取数据 723.4.2 读取客户端的信息 753.5 Server对象 763.5.1 HtmlEncode方法和HtmlDecode方法 763.5.2 UrlEncode方法和UrlDecode方法 773.5.3 MapPath方法 793.6 Application对象 793.6.1 利用Application对象存取信息 803.6.2 锁定Application对象 813.6.3 删除Application中的信息 813.7 Session对象 813.8 Cookie对象 843.9 实战1:统计网站在线人数 853.10 实战2:用户登录 87小结 90习题 90第4章 Web服务器控件 924.1 HTML标记、HTML控件和Web控件 924.2 HTML控件概述 944.3 Web控件概述 964.4 基本控件 974.4.1 Button控件 974.4.2 Label控件 974.4.3 TextBox控件 974.5 选择控件 1004.5.1 CheckBox控件和CheckBoxList控件 1004.5.2 RadioButton控件和RadioButtonList控件 1024.6 列表控件 1054.6.1 ListBox控件 1054.6.2 DropDownList控件 1084.7 高级控件 1104.7.1 Calendar控件 1104.7.2 AdRotator控件 1144.7.3 MultiView控件和View控件 1164.7.4 ScriptManager控件和UpdatePanel控件 1184.8 实战:用户注册页面 121小结 129习题 129第5章 验证控件 1315.1 验证控件概述 1315.2 RequiredFieldValidator控件的功能和使用 1325.3 CompareValidator控件的功能和使用 1345.4 RangeValidator控件的功能和使用 1365.5 RegularExpressionValidator控件的功能和使用 1385.6 CustomValidator控件的功能和使用 1405.7 ValidatorSummary控件的功能和使用 141小结 143习题 143第6章 网页布局技术 1456.1 ASP.NET用户控件 1456.2 母版页和内容页 1506.3 导航控件 154小结 157习题 157第7章 Web数据库编程基础 1597.1 SQL语言 1597.1.1 SQL数据查询语句 1597.1.2 SQL数据操纵语句 1637.2 ADO.NET概述 1647.2.1 .NET数据提供程序 1647.2.2 ADO.NET数据库应用程序的开发流程 1657.3 Connection对象 1657.3.1 创建Connection对象 1657.3.2 Connection对象的方法和事件 1667.4 Command对象 1677.4.1 创建Command对象 1677.4.2 Command对象的属性和方法 1677.5 DataReader对象 1687.5.1 创建DataReader对象 1687.5.2 DataReader对象的属性和方法 1687.6 DataAdapter对象和DataSet对象 1717.6.1 DataSet对象 1717.6.2 DataAdapter对象 1727.7 插入、编辑和删除数据 1757.8 数据绑定 1827.9 数据控件 1847.9.1 SqlDatasource控件 1847.9.2 GridView控件 1907.9.3 DetailsView控件 1977.9.4 DataList控件 1997.9.5 Repeater控件 2047.10 配置文件Web.config 2067.11 程序调试 209小结 212习题 212第8章 注册登录模块 2148.1 设计思想 2148.2 ASP.NET的图像处理 2158.3 注册登录模块的实现过程 2188.3.1 用户登录模块设计 2188.3.2 用户注册模块设计 2278.3.3 修改密码模块设计 231小结 234习题 234第9章 在线投票模块 2369.1 XML文档 2369.1.1 XML的特点 2369.1.2 XML文档的基本结构 2389.1.3 创建XML文档 2399.1.4 XML的应用 2399.2 在线投票模块设计思想 2459.3 在线投票模块的实现 2459.3.1 投票页面的设计 2459.3.2 投票结果显示页面的设计 2489.3.3 以数据库存储投票结果 250小结 252习题 252第10章 留言板模块 25410.1 留言板模块设计思想 25410.2 数据库设计 25510.3 留言板模块的实现 25610.3.1 母版页的设计 25610.3.2 index.aspx页面的设计 25810.3.3 查看留言页面的设计 26410.3.4 管理留言 269小结 277习题 277第11章 文件上传下载模块 27911.1 文件上传下载的设计思想 27911.2 设计前的准备 28011.2.1 FileUpLoad服务器控件 28011.2.2 System.IO命名空间 28111.2.3 Response对象 28111.3 上传文件至服务器 28211.4 从服务器下载文件 28511.5 上传图片至数据库 28711.5.1 保存图片路径 28711.5.2 保存图片数据 291小结 296习题 296第12章 BBS论坛系统 29812.1 设计思路 29812.2 设计前的准备 29912.2.1 引入第三方组件FreeTextBox 29912.2.2 多层架构设计 30212.3 数据库设计 30312.4 设计实体(Model)层 30512.5 设计数据访问(DAL)层 31112.5.1 SQLHelper类 31212.5.2 UserDAL类 31712.5.3 ModuleDAL类 32212.5.4 PostDAL类 32512.5.5 ReplayDAL类 32812.6 设计业务逻辑(BLL)层 33112.7 主要功能界面(Web UI层)的实现 33312.7.1 设计母版页 33412.7.2 首页Index.aspx的实现过程 33512.7.3 帖子管理的实现过程 33712.7.4 用户管理的实现过程 35212.7.5 版块管理的实现过程 361小结 365习题 365参考文献 367