新書推薦:
《
中国古代文体形态研究(第四版)(中华当代学术著作辑要)
》
售價:HK$
168.0
《
朋党之争与北宋政治·大学问
》
售價:HK$
99.7
《
甲骨文丛书·波斯的中古时代(1040-1797年)
》
售價:HK$
88.5
《
以爱为名的支配
》
售價:HK$
62.7
《
台风天(大吴作品,每一种生活都有被看见的意义)
》
售價:HK$
53.8
《
打好你手里的牌(斯多葛主义+现代认知疗法,提升当代人的心理韧性!)
》
售價:HK$
66.1
《
新时代硬道理 广东寻路高质量发展
》
售價:HK$
77.3
《
6S精益管理实战(精装版)
》
售價:HK$
100.6
編輯推薦:
(1)本书采用Microsoft Visual Studio 2012环境,涵盖Ajax和Linq技术。(2)书中包含大量实例,描述详细,有利于初学者学习和理解。课外实践任务与课内实例相结合,激发学习兴趣,深入理解技术的应用方法。(3)购物网站案例包括表详细设计,前后台功能划分,提交订单逐步深入,代码完善。(4)结构严谨,注重知识点衔接,适合作为技术应用型本科教材。(5)本书提供教学配套的PPT课件、课后习题答案、各章节实例源代码和综合案例购物网站的源代码。读者可登录清华大学出版社网站下载。
內容簡介:
.NET 4.5是Microsoft公司于2012年推出的新一代开发平台。本书结合.NET 4.5开发平台,由浅入深、循序渐进地介绍了ASP.NET程序开发的基本思想、方法和技术,力求帮助读者通过学习掌握较为实用的技术和方法。 全书共13章: 第1章介绍Web开发的基本知识和ASP.NET的基础知识和开发环境;第2章介绍ASPX网页的代码存储模式、页面之间的转向、页面的生命周期等基础知识;第3章介绍Web服务器控件及ASP.NET网页标准控件的使用方法;第4章介绍ASP.NET的验证控件的使用方法;第5章介绍ASP.NET提供的状态管理对象;第6章介绍统一站点风格的用户控件、母版页和主题的使用方法;第7章介绍网站导航控件的使用方法;第8章介绍ADO.NET数据模型及其主要对象的使用方法;第9章介绍数据源控件和GridView数据绑定控件的使用方法;第10章介绍其他数据控件的使用方法;第11章介绍LINQ技术;第12章介绍AJAX技术;第13章使用ASP.NET技术开发一个综合案例。每章均有实例演示且有课后习题。 本书可作为信息管理与信息系统、计算机及相关专业ASP.NET动态网站开发的基础教材,也可供专业技术人员参考。
目錄 :
目录Contents第1章ASP.NET概述1
1.1BS模式和CS模式1
1.2静态网页和动态网页2
1.3.NET Framework的体系结构3
1.4ASP.NET应用程序基础5
1.4.1ASP.NET应用程序组成5
1.4.2创建ASP.NET应用程序7
1.4.3运行ASP.NET应用程序10
1.5开发环境的安装与使用11
1.5.1安装IIS Web服务器11
1.5.2安装Visual Studio 201211
1.5.3开发环境的介绍13
小结20
课后习题20
第2章ASPX网页23
2.1ASPX网页的代码存储模式23
2.1.1代码分离模式24
2.1.2单一文件模式27
2.2Web页面之间的转向28
2.2.1Response对象29
2.2.2Request对象30
2.2.3Server对象32
2.2.4Web表单33
2.3页面的生命周期35
2.4网页的事件模型37
2.5路径运算符38◆ASP.NET 4.5动态网站开发目录小结39
课后习题40
第3章ASP.NET网页标准控件44
3.1服务器控件概述44
3.1.1控件类型44
3.1.2控件定义格式45
3.1.3控件属性46
3.2Label标签控件47
3.3TextBox文本框控件48
3.4Button按钮控件53
3.5Image图像控件55
3.6DropDownList下拉列表控件56
3.7CheckBox复选框和CheckBoxList控件60
3.8RadioButton单选按钮和RadioButtonList控件63
3.9ListBox控件66
3.10HyperLink控件69
3.11AdRotator控件69
3.12Calender控件71
3.13ImageMap控件72
3.14MultiView和View控件73
小结73
课后习题74
第4章数据验证76
4.1认识验证控件77
4.2RequiredFieldValidator控件实现非空验证77
4.3CompareValidator控件实现数据比较验证79
4.3.1CompareValidator控件实现数据大小比较80
4.3.2CompareValidator控件实现数据类型检查81
4.4RangeValidator控件实现输入范围验证81
4.5RegularExpressionValidator控件实现模式匹配82
4.6CustomValidator控件实现自定义验证84
4.7ValidationSummary控件汇总显示页面错误85
小结86
课后习题86
第5章ASP.NET状态对象88
5.1认识状态管理88
5.2Cookie状态88
5.3会话状态93
5.4应用程序状态98
5.5视图状态101
小结104
课后习题104
第6章用户控件、母版页和主题106
6.1用户控件106
6.1.1用户控件的创建和调用106
6.1.2Web窗体和用户控件108
6.1.3自定义控件109
6.2母版页113
6.2.1母版页的创建113
6.2.2为母版页添加内容页114
6.3主题119
6.3.1主题是什么119
6.3.2创建主题119
6.3.3皮肤文件121
6.3.4样式文件122
6.3.5应用主题的方法123
小结125
课后习题126
第7章网站导航127
7.1站点地图127
7.2动态菜单控件128
7.3TreeView控件133
7.4SiteMapPath控件136
小结137
课后习题138
第8章ADO.NET数据模型139
8.1ADO.NET简介139
8.2Connection对象141
8.3Command对象144
8.3.1用ExecuteReader查询数据145
8.3.2用ExecuteNonQuery执行非查询语句146
8.3.3用ExecuteScalar查询单个值148
8.4DataReader对象150
8.5DataAdapter对象152
8.6DataSet对象152
8.7待定参数的使用155
8.8SQL Server 2012 Express159
小结162
课后习题162
第9章数据源控件和GridView控件164
9.1数据绑定164
9.2数据源控件简介165
9.2.1数据源控件类型165
9.2.2SqlDataSource控件165
9.3GridView控件172
9.3.1分页、排序和选择172
9.3.2利用模板美化显示174
9.4使用数据控件实现条件查询179
9.4.1单一条件查询179
9.4.2多条件查询185
9.4.3数据表同步188
9.5使用GridView控件编辑数据193
9.5.1更新和删除数据表193
9.5.2为数据表添加数据202
9.6使用存储过程操作数据库206
9.7连接字符串的配置210
小结211
课后习题211
第10章其他数据控件213
10.1FormView控件213
10.2DetailsView控件219
10.3DataList控件220
10.4Repeater控件224
10.5ListView控件225
10.6DataPager控件231
小结232
课后习题233
第11章LINQ技术233
11.1LINQ及其作用233
11.2LINQ查询表达式234
11.3使用LINQ查询数组236
11.4使用LINQ to SQL查询关系数据库236
11.4.1DataContext类和实体对象237
11.4.2LINQ数据操作239
11.5LINQDataSource控件245
小结246
课后习题247
第12章AJAX技术248
12.1AJAX简介248
12.1.1AJAX是什么248
12.1.2AJAX的工作原理249
12.1.3AJAX的优点249
12.2AJAX控件的使用250
12.2.1ScriptManager控件250
12.2.2UpdatePanel控件250
12.2.3Timer控件253
12.2.4AJAX工具包255
小结259
课后习题259
第13章B2C网上购物系统260
13.1网站需求分析260
13.2网站设计261
13.2.1功能设计261
13.2.2数据库设计261
13.3网站实现263
13.3.1用户登录264
13.3.2母版页设计266
13.3.3首页及商品显示271
13.3.4购物车模块279
13.3.5提交订单283
13.3.6后台管理模块292
13.3.7网站外观设计298
小结300
课后习题300
参考文献301
內容試閱 :
前言 ForewordASP.NET以其简单易学、开发速度较快等优点,成为近年来最为流行的动态网站开发技术之一。.NET 4.5是Microsoft公司于2012年推出的新一代开发平台,Visual Studio 2012是基于该平台的开发环境,使用起来更加方便,尤其是自动生成创建数据库及表的相应脚本,可有效避免因版本不同造成的无法打开数据库问题。本书结合.NET 4.5开发平台,由浅入深、循序渐进地介绍ASP.NET程序开发的基本思想、基础知识和核心技术,力求符合学生的学习习惯,帮助学生通过学习掌握较为实用的技术和方法。应用型本科高校旨在培养学生的实际应用能力、动手实践能力。本教程融入作者多年程序设计教学的实践经验,以求更好地辅助教学。本书可作为信息管理与信息系统、计算机及相关专业ASP.NET动态网站开发的基础教材。本书主要包括13章: 第1章介绍Web开发的基本知识和ASP.NET的基础知识和开发环境;第2章介绍ASPX网页的代码存储模式、页面之间的转向、页面的生命周期等基础知识,前两章为入门知识;第3章介绍Web服务器控件及ASP.NET网页标准控件的使用方法;第4章介绍ASP.NET验证控件的使用方法;第5章介绍ASP.NET提供的状态管理对象,第3~5章为基础知识;第6章介绍用户控件、母版页和主题的使用方法;第7章介绍导航控件的使用方法;第8章介绍ADO.NET数据模型及其主要对象的使用方法;第9章介绍数据源控件和GridView控件的使用方法;第10章介绍其他数据控件的使用方法;第11章介绍LINQ技术;第12章介绍AJAX技术,第6~12章为核心技术;第13章使用ASP.NET技术开发一个综合案例,为学生实战提供案例。每章都有学习目标和课后习题。本书具有以下特点。(1) 根据应用型大学学生的学习习惯和信息管理与信息系统专业特点,合理设计ASP.NET Web开发技术知识体系,结合该课程的先行课程和后续课程,组织相关知识点与内容。本书结构严谨,内容安排环环相扣,符合初学者的学习习惯。(2) 在知识点组织和案例设计等内容安排上,既着眼于培养学生熟练掌握理论知识,又注意锻炼和培养学生在程序设计过程中的分析问题和解决问题的能力、逻辑思维能力和实践动手能力,启发学生的创新意识。(3) 教材中实例任务明确,实现过程详细,代码完善。并在习题中配有一定数量的课外实践任务,尽量使学生课内外相结合,激发学习兴趣,深入理解知识点。(4) 教材提供教学配套的PPT课件、课后习题答案、各章节实例和综合案例的源代码。本书由闫会娟编写。在编写过程中,参阅了.NET的联机帮助和微软(Microsoft)公司的网站,也吸取了国内外教材的精髓,对这些作者的贡献表示由衷的感谢。本书在出版过程中,得到了毕建涛主任和邢智毅教授的支持和帮助;还得到了清华大学出版社的大力支持,在此表示诚挚的感谢。此书的出版离不开我家人的支持,感谢他们默默的奉献。由于作者水平有限,书中难免有不妥和疏漏之处,恳请各位专家、同仁和读者不吝赐教和批评指正。欢迎读者与笔者交流教学体会和教材建议,作者邮箱yanhuijuan0716@163.com。
编者2016年9月◆ASP.NET 4.5动态网站开发
第5章chapter5
ASP.NET状态对象1.1微型计算机简介在Web开发中,浏览器和服务器之间的数据都是用HTTP来传输的。但HTTP是一个无状态的通信协议,不会保留数据的状态和信息,每次浏览器和服务器之间的连接都是暂时的。然而,有些状态是需要保留的。为了解决上述问题,ASP.NET提供了4个状态管理对象来实现状态管理功能。这4个对象分别是Cookie、Session、Application、ViewState。本章学习目标: 了解什么是状态管理; 掌握Cookie、Session、Application对象的基本使用方法。5.1认识状态管理当提交网页后输入的数据有时候还在,有时候已经清空。这些保留的输入数据就是已经进行了状态管理,保存了用户填写的数据。状态管理是在同一页或不同页的多个请求发生时,维护状态和页面信息的过程。ASP.NET提供了状态管理的4个状态对象,来管理网站的会话状态、应用程序状态、视图状态。(1) 应用程序状态Application: 用于保存整个应用程序的状态,状态存储在服务器端。(2) 会话状态Session: 用于保存单一用户的状态,状态存储在服务器端。(3) Cookie状态: 用于保存单一用户的状态,状态存储在浏览器端。(4) 视图状态ViewState: 保存本窗体页的状态。用于在请求和返回之间保留页和控件属性值的默认方法。ViewState提供一个字典对象,用于在多个请求之间保留值。5.2Cookie状态〖*45〗1. 什么是CookieCookie是一小段被加密的文本信息,保存在客户端。Cookie一般用来保存少量的数据。伴随着用户请求和页面在Web服务器和浏览器之间传递。用户每次访问站点时,Web应用程序都可以读取Cookie包含的信息。Cookie是与Web站点而不是与具体页面关联的。Cookie 能够帮助Web站点保存有关访问者的信息。◆ASP.NET 4.5动态网站开发第◆5章ASP.NET状态对象Cookie保存在客户端机器上,Windows 7操作系统默认地址是: \[系统盘\]:\\Users\\\[登录用户名\]\\AppData\\Local\\Microsoft\\Windows\\Temporary Internet Files\\。不同的操作系统的路径稍有不同,可以打开IE浏览器,选择【工具】菜单【Internet选项】,在弹出的对话框中,单击【常规】选项卡中的浏览历史的【设置】按钮,即可打开如图5.1所示的对话框,显示Cookie保存的路径。再单击【查看文件】按钮,可以打开文件夹,看到里面已经保存的Cookie文件如图5.2所示。图5.1【网站数据设置】对话框图5.2Cookie文件的保存路径网站可以将识别客户的信息保存在浏览器端,以备客户下次登录时使用。如图5.3所示,在登录邮箱时,如果勾选了【十天内免登录】复选框,图5.3邮箱登录中的免登录功能就将登录信息保存在本地的Cookie中了。用户名和密码保存后,下次再打开这个邮箱网站输入用户名后,密码会自动出现,减少了用户的重复操作。2. Cookie对象的使用Cookie对象是HttpCookie类的一个实例,其包含设置、修改和创建Cookie的一系列方法和属性。下面介绍它的常用属性和方法。1 创建一个Cookie对象: HttpCookie myCookie=new HttpCookie"userName";对象的实例化其中,user是Cookie对象保存在客户端的name值,myCookie是编程时用的对象名。或Response.Cookies\["userName"\].Value=RadioButtonList1.SelectedItem.Text;创建Cookie对象,设置Value值,并发送到客户端。2 使用Cookie对象的Value属性设置Cookie的值: myCookie.Value="小甜饼";3 使用Cookie对象的Expires属性设置Cookie的有效时间: myCookie.Expires=DateTime.Now.AddMinutes1;设置Cookie在一分钟后失效。其中,DateTime.Now获取现在的时间,它的AddMinutesx方法获取x分钟后的时间,还可以使用AddDays、AddHours等。也可以使用TimeSpan来设置Cookie的有效期: TimeSpan ts= new TimeSpan0, 0, 5, 0;Response.Cookies\["name"\].Expires= DateTime.Nowts; TimeSpan ts=new TimeSpan0,0,5,0;表示实例化一个TimeSpan对象ts,代表一个时间段5小时,4个参数分别表示秒、分、小时、天,即: TimeSpansecond,minute,hour,day。如果要表示1小时20分钟,为: TimeSpan ts=new TimeSpan0, 20, 1, 0;4 通过Response对象发送Cookie到客户端: Response.Cookies.AddmyCookie;5 通过Request对象获取Cookie:string myCook=Request.Cookies\["userName "\].Value;获取名为userName的Cookie。使用Request.Cookies.AllKeys将获取客户端所有的Cookie。下面通过一个实例来演示用Cookie保存投票信息的功能。【实例51】用Cookie保存投票信息的功能。1 新建一个空网站chapter5,添加一个页面51.aspx。设计如图5.4所示,从【工具箱】拖放一个RadioButtonList控件、两个Button和两个Label控件。通过RadioButtonList控件的【编辑项】窗口添加可供投票的歌手名称。修改Button控件的Text属性分别为投票和查看我的投票。Label的Text值设为空。2 双击【投票】按钮,在Click事件中填写保存Cookie的代码如下。protected void Button1_Clickobject sender, EventArgs e{if Request.Cookies\["no"\]== null{Label1.Text= "您的投票已经收到,谢谢参与!";方式1HttpCookie myCookie= new HttpCookie"no";实例化myCookie对象myCookie.Value= RadioButtonList1.SelectedValue;myCookie.Expires= DateTime.Now.AddDays1; 设置一天后过期Response.Cookies.AddmyCookie; 投票结果发送到浏览器 方式2Response.Cookies\["name"\].Value= RadioButtonList1.SelectedItem.Text;TimeSpan ts= new TimeSpan0, 0, 0, 1; 设置Cookie的过期时间Response.Cookies\["name"\].Expires= DateTime.Nowts;}elseLabel1.Text= "对不起,您已经投过票了";} 在代码中使用了两种方式分别创建了两个Cookie对象no和name,并分别使用了AddDays方法和TimeSpan对象设置了Cookie对象的有效期。3 双击【查看我的投票】按钮,在Click事件中,填写以下代码。protected void Button2_Clickobject sender, EventArgs e{Label1.Text= "";遍历浏览器端的所有Cookieforeachstring strKey in Request.Cookies.AllKeys{if strKey== "no"Label1.Text="你投的是: " Request.Cookies\[strKey\].Value "号";if strKey== "name"Label1.Text=Request.Cookies\[strKey\].Value;}}4 运行51.aspx,效果如图5.4~图5.6所示。图5.4投票成功的效果图5.5投票失败的效果图5.6查看投票信息的效果注意: 在本例中,可以将有效时间改为一分钟,一分钟后Cookie失效后可以继续投票。方便调试程序及体验重复投票。5.3会 话 状 态Session是Web技术中很常用的一种状态管理。Session对象存储特定单个用户会话所需的信息。它存在于一个会话中,会话结束后,Session就失去了作用。与Cookie不同的是它将信息保存在服务器端,比Cookie安全;而且在使用时也不需要实例化。相同的是它们都是保存单个用户的状态。Session的常用属性和方法如表5.1所示。表5.1Session对象的属性和方法类别名称作用属性SessionId用户登录时,自动分配,唯一\[""\]自定义属性,可存储任何数据类型TimeOut设置Session的失效时间Count获取会话状态集合中的项数Mode获取当前会话状态的模式Keys获取存储在会话中的所有值的键的集合方法Abandon显式地结束一个会话Add将新的项添加到会话状态中Clear清除会话状态中的所有值Remove删除会话状态集合中的项每个用户访问服务器时都必须为其维护一个会话状态。SessionID是ASP.NET为每个新用户创建的一个唯一的120位标识符。可以在Session中存储会话特定的值或对象,该状态对象由服务器进行管理,并可用于浏览器或客户端设备。一般地,在Session中保存短期的、敏感的数据。为避免影响服务器的性能,它不适宜存放大量的数据。1. 启动会话状态应用程序状态在网站中总是可用的,而会话状态需要先启动。只是在机器配置文件Machine.config中已经设置为启动会话状态。但仍然可以在Web.config和页面中启动或禁止Session。在Page指令中添加启动会话状态的属性EnableSessionState: EnableSessionState=Truefalse。在Web.config的节中可以添加,表示Session的配置,代码如下。上面代码中各个参数的含义如下。1 mode: 会话状态的存储方式。包括5种值: Customer、InProc、Off、SQLServer和StateServer。2 cookieless: 指定是否需要Cookie的支持。3 timeout: 指定会话的有效时间min。4 regenerateExpiredSessionId: 当客户端指定了过期的会话ID时,设置是否重新发出会话ID。2. 创建和获取会话状态创建会话的方法采用键值对的方式: Session\["userName"\]="myUserName";创建一个Session对象userName,并保存字符串myUserName。获取已经存在的Session对象的方法: string str=stringSession\["userName"\];获取userName的值,并保存到str变量中。3. 管理会话会话对象的有效时间默认是20min,可以通过TimeOut属性设置会话对象的有效时间: Session.TimeOut=12;有效时间为12min当会话状态较多或不再使用时可以清除所有会话状态:Session.Clear;也可以只删除某个会话:Session.Remove"userName";下面通过一个实例来演示Session的用法。【实例52】设计邮箱登录界面,具体要求如下。1 当单击【登录】按钮时判断用户输入的地址和密码是否正确假设用户名为12345@163.com、密码是67890。2 若输入正确,则登录成功,进入主页面,并显示登录邮箱的名字;若不正确,显示登录失败。操作步骤如下。1 打开网站chapter5,添加页面52login.aspx和52index.aspx。页面52login.aspx的设计如图5.7所示。通过【表】菜单【插入表】插入一个5行2列的Table,并在Table中放入Label、TextBox和Button控件,修改其Text属性。52index.aspx中仅放置一个Label。图5.752login.aspx的初始界面生成的代码如下。.auto-style1 {width: 100%;}.auto-style3 {} 请输入邮件地址 请输入密码