第六章 calendar模块(日历)

1. calendar模块介绍

calendar 模块(日历模块)的方法都是与日历相关的,例如生成指定年份的日历、判断指定年份是否为闰年等。默认情况下,这些日历把星期一当作一周的第一天,星期天为一周的最后一天(按照欧洲惯例)。可以使用 setfirstweekday() 方法设置一周的第一天为星期天(6)或者其它任意一天。此外,calendar 模块中的 TextCalendar 和 HTMLCalendar 类可以输出指定格式的文本与 HTML 代码。

2. day_abbr属性——获取周一至周日英文缩写组成的数组

day_abbr 属性用于获取周一至周日英文缩写组成的数组。语法格式如下:

calendar.day_abbr

参数说明:

  • 返回值:返回一个数组,内容为字符型周一至周日的英文缩写。

使用 day_abbr 属性获取周一至周日的英文缩写,代码如下:

import calendar                                               	# 导入日历模块

week_list = [‘星期一',’星期二',’星期三',’星期四',’星期五',’星期六',’星期日']

week_array = calendar.day_abbr                           		# 获取周一至周日英文缩写数组

for i,v in enumerate(week_array):                         		# 遍历周一至周日英文缩写

print(week_list[i],’的英文缩写为:',v)

3. day_name属性——获取周一至周日英文名称组成的数组

day_name 属性用于获取周一至周日英文名称组成的数组。语法格式如下:

calendar.day_name

参数说明:

  • 返回值:返回一个数组,内容为字符型周一至周日的英文名称。

使用 day_name 属性获取周一至周日的英文名称,代码如下:

import calendar                                          	# 导入日历模块

week_list = [‘星期一',’星期二',’星期三',’星期四',’星期五',’星期六',’星期日']

week_array = calendar.day_name                    			# 获取周一至周日英文名称数组

for i,v in enumerate(week_array):                    		# 遍历周一至周日英文名称

print(week_list[i],’的英文名称为:',v)

4. month_abbr属性——获取每个月份的英文缩写组成的数组

month_abbr 属性用于获取一年中每个月份的英文缩写组成的数组。语法格式如下:decimal

calendar.month_abbr

参数说明:

  • 返回值:返回一个数组,其内容为当前语言环境内一年中每个月份的英文缩写。为了遵循 1月份对应数组索引为 1,该数组中第一个元素为空字符串,数组长度为 13。

使用 month_abbr 属性获取一年中每个月份的英文缩写,代码如下:

import calendar                                               	# 导入日历模块

month_list = list(calendar.month_abbr)                   		# 将数组转换为列表

print(list(calendar.month_abbr))                           		# 打印一年中每个月份的英文缩写

5. month_name属性——获取每个月份的英文 名称组成的数组

month_name 属性用于获取一年中每个月份的英文名称组成的数组。语法格式如下:

calendar.month_name

参数说明:

  • 返回值:返回一个数组,其内容为当前语言环境内一年中每个月份的英文名称。为了遵循 1月份对应数组索引为 1,该数组中第一个元素为空字符串,数组长度为 13。

使用 month_name 属性获取一年中每个月份的英文名称,代码如下:

import calendar                                    	# 导入日历模块

month_list = list(calendar.month_name)      		# 将数组转换为列表

print(month_list)                                  	# 打印一年中每个月份的英文名称

6. calendar()方法——获取指定年份的日历

calendar() 方法用于获取指定年份的日历。语法格式如下:

calendar.calendar(year,w=2,l=1,c=6,m=3)

参数说明:

  • year :指定年份。

  • w :表示每日之间的宽度间隔,默认为 2,最小宽度为 2。

  • l :表示日期之间的行高度,默认为 1,至少占 1 行的高度。

  • c :表示月份之间的间隔宽度,默认为 6,最小宽度为 2。

  • m :表示一行显示几个月。

  • 返回值:以多行字符串格式返回指定年份的日历。

使用 calendar() 方法获 2020 年的日历,代码如下:

import calendar                                 		# 导入日历模块

print(calendar.calendar(2020,w=2,l=1,c=8,m=6)) 			# 获取2020年日历

7. firstweekday()方法——返回当前周起始日期

firstweekday() 方法用于返回当前周起始日期。0 代表星期一、1 代表星期二……6 代表星期日。语法格式如下:

calendar.firstweekday()

参数说明:

  • 返回值:默认情况下,首次载入 calendar 模块时返回 0,即星期一。

使用 firstweekday() 方法获取当前周起始日期,代码如下:

import calendar                                                           	# 导入日历模块

print(‘当前周的起始日期为:',calendar.firstweekday())        				# 打印当前周起始日期

8. isleap()方法——判断指定年份是否为闰年

isleap() 方法用于判断指定年份是否为闰年。语法格式如下:

calendar.isleap(year)

参数说明:

  • year :指定年份。

  • 返回值:布尔值,是闰年返回 True,否则返回 False。

使用 isleap() 方法判断 2008 年、2019 年是否为闰年,代码如下:

import calendar                                            	# 导入日历模块

print(2008年是否为闰年:',calendar.isleap(2008)) 			# 判断2008年是否为闰年

print(2019年是否为闰年:',calendar.isleap(2019)) 			# 判断2019年是否为闰年

9. leapdays()方法——获取指定年份之间的闰年总数

leapdays() 方法用于获取指定年份之间的闰年总数。语法格式如下:

calendar.leapdays(y1,y2)

参数说明:

  • y1 :指定的开始年份。

  • y2 :指定的结束年份(不包括该年)。

  • 返回值:返回一个整数,即返回在 y1 和 y2 年份之间的闰年总数,包括 y1,但不包括 y2。

使用 leapdays() 方法检测从 2000 年到 2020 年(不包括该年)之间的闰年个数,代码如下:

import calendar                     		# 导入日历模块

print(calendar.leapdays(2000,2020))			# 检测从2000年到2020年(不包括该年)之间的闰年个数

10. month()方法——获取指定月份的日历

month() 方法用于获取指定月份的日历。语法格式如下:

calendar.month(year,month,w=0,l=0)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • w :表示每日之间的宽度间隔,默认为 0,最小宽度为 2。

  • l :表示日期之间的行高度,默认为 0,至少占 1 行的高度。

  • 返回值:指定月份的日历。

使用 month() 方法打印 2020 年 2 月份的日历,代码如下:

import calendar                   		# 导入日历模块

print(calendar.month(2020,2))  			# 打印2020年2月份的日历

11. monthcalendar()方法——获取指定年月的信息列表

monthcalendar() 方法用于获取指定年月的信息列表。语法格式如下:

calendar.monthcalendar(year,month)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • 返回值:返回一个列表,列表内的元素还是列表。每个子列表代表一个星期,都是从星期一到星期日 7 个元素,如果子列表中元素没有本月的对应日期,则用 0 补充。

获取 2020 年 3 月份的信息列表,代码如下:

import calendar                  			# 导入日历模块

print(calendar.monthcalendar(2020,3)) 		# 获取2020年3月份的信息列表

12. monthrange()方法——获取指定月份是从星期几开始及当月的天数

monthrange() 方法用于获取指定月份的第一天是从星期几开始及当月的天数。语法格式如下:

calendar.monthrange(year,month)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • 返回值:返回一个包含两个整数的元组,第一个整数代表指定月份的第一天从星期几开始(0代表星期一、1 代表星期二……6 代表星期日),第二个整数代表该月一共有多少天。

使用 monthrange() 方法获取 2020 年 1 月第一天是从星期几开始及当月的天数,代码如下:

import calendar                   			#  导入日历模块

print(calendar.monthrange(2020,1)) 			#  获取2020年1月第一天是从星期几开始及当月的天数

13. prcal()方法——获取指定年份的日历

prcal() 方法相当于 calendar() 方法,用于获取指定年份的日历。语法格式如下:

calendar.prcal(year,w=0,l=0,c=6,m=3)

参数说明:decimal

  • year :指定年份。

  • w :表示每日之间的宽度间隔,默认为 0,最小宽度为 2。

  • l :表示日期之间的行高度,默认为 0,至少占 1 行的高度。

  • c :表示月份之间的间隔宽度,默认为 6,最小宽度为 2。

  • m :表示一行显示几个月。

  • 返回值:以多行字符串格式返回指定年份的日历。

使用 prcal() 方法获取 2020 年的日历,代码如下:

import calendar                       			# 导入日历模块

print(calendar.prcal(2020,w=2,l=1,c=8,m=4)) 	# 获取2020年日历

14. prmonth()方法——获取指定月份的日历

prmonth() 方法用于获取指定月份的日历,相当于 month() 方法。语法格式如下:

calendar.prmonth(year,month,w=0,l=0)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • w :表示每日之间的宽度间隔,默认为 0,最小宽度为 2。

  • l :表示日期之间的行高度,默认为 0,至少占 1 行的高度。

  • 返回值:返回指定月份的日历。

使用 prmonth() 方法打印 2020 年 3 月份的日历,代码如下:

import calendar                                 	# 导入日历模块

print(calendar.prmonth(2020,3,w=5,l=1))  			# 获取2020年3月份的日历

15. setf irstweekday()——设置每周的起始日期

setfirstweekday() 方法用于设置每周的起始日期,0 代表星期一、1 代表星期二……6 代表星期日。语法格式如下:

calendar.setfirstweekday(weekday)

参数说明:

  • weekday :指定每周的起始日期。decimal

使用 setfirstweekday() 方法将第一个工作日设置为星期日,代码如下:

import calendar                                               	# 导入日历模块

print(‘默认返回:',calendar.firstweekday())            			# 默认返回0,即星期一

calendar.setfirstweekday(6)                                 	# 将星期日设置为一周第一天

print(‘修改后:',calendar.firstweekday())               			# 返回6,即星期日

16. timegm()方法——将时间元组转换为时间戳

timegm() 方法用于接收一个时间元组,然后返回该时刻的时间戳。语法格式如下:

calendar.timegm(tupletime)

参数说明:

  • tupletime :时间元组。

  • 返回值:时间戳。

使用 timegm() 方法将时间元组转换为对应的时间戳,代码如下:

import calendar,time            # 导入日历模块和时间模块

# 将时间元组转换为时间戳

print(‘指定时间元组对应的时间戳为:',calendar.timegm((2020,2,2,21,26,0,0,0,0)))

# 将localtime()方法获取的当前时间的时间元组转换为时间戳

print(‘当前时间元组对应的时间戳为:',calendar.timegm(time.localtime()))

17. weekday()方法——获取指定日期的星期码

weekday() 方法用于获取指定日期的星期码,通过输入的年月日获取该日期为星期几。语法格式如下:

calendar.weekday(year,month,day)

参数说明:

  • year :指定年份。

  • month :制定月份。

  • day :指定某天。

  • 返回值:返回指定日期的星期码,0 代表星期一、1 代表星期二……6 代表星期日。

获取 2020 年 5 月 18 日至 20 日的星期码,代码如下:

import calendar                                               	# 导入日历模块

print(calendar.weekday(2020,5,18))                       		# 星期一

print(calendar.weekday(2020,5,19))                       		# 星期二

print(calendar.weekday(2020,5,20))                       		# 星期三

18. weekheader()方法——返回包含星期的英文缩写

weekheader() 方法用于返回星期一至星期日的英文缩写。语法格式如下:decimal

calendar.weekheader(n)

参数说明:

  • n :表示英文缩写所占的宽度。

  • 返回值:返回星期一至星期日的英文缩写。

使用 weekheader() 方法获取星期一至星期日的英文缩写,代码如下:

import calendar # 导入日历模块

print(‘周一至周日英文缩写如下:')

print(calendar.weekheader(2))

print(calendar.weekheader(5))

print(calendar.weekheader(10))

19. Calendar类

Calendar 类用于创建一个日历对象,并设置一周的第一天为星期几。语法格式如下:

calendar.Calendar(firstweekday=0)

参数说明:

  • firstweekday :表示一个整数,用于设置一周的第一天为星期几(0 表示星期一,6 表示星期日)。

使用 Calendar 类创建日历对象,然后获取一周的第一天为星期几,代码如下:

from calendar import Calendar       		# 导入日历模块中的Calendar类

week_list = [‘星期一',’星期二',’星期三',’星期四',’星期五',’星期六',’星期日']

calendar_obj = Calendar()          			# 创建默认的Calendar对象

week_index = list(calendar_obj.iterweekdays())[0]

print(‘在默认情况下一周第一天为:',week_list[week_index])

20. itermonthdates()方法——返回指定月中的日期迭代器

Calendar 类中的 itermonthdates() 方法用于获取指定年份中某月内的日期迭代器(所有日期),其中包含当前月份开始周与结束周的所有日期。语法格式如下:

Calendar对象名.itermonthdates(year,month)

参数说明:

  • year :为指定的年份。

  • month :为指定的月份。

  • 返回值:返回指定月中的日期迭代器,其中包含当前月份开始周与结束周的所有日期。

在获取指定月份的日期迭代器时,需要先指定需要获取的年份,然后再指定月份,代码如下:

from calendar import Calendar                             			# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                   		# 创建默认的Calendar对象

itermonth= calendar_obj.itermonthdates(2020,7)     					# 获取2020年7月份的日期迭代器

for i in itermonth:                                             	# 循环遍历迭代器中的日期

print(i)                                                          	# 打印迭代器中的日期

21. itermonthdays()方法——返回指定月份每天日期的迭代器

Calendar 类中的 itermonthdays() 方法用于获取指定月份每天日期的迭代器,如果不是当月的日期显示为 0。语法格式如下:

Calendar对象名.itermonthdays(year,month)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • 返回值:返回一个迭代器,其内容为指定月份中每天日期对应的天数,如果不是当月的日期显示为 0。

使用 itermonthdays() 方法与 itermonthdates() 方法类似,需要指定年份与月份,然后通过循环遍历迭代器中的值,代码如下:

from calendar import Calendar                       		# 导入日历模块中的Calendar类

calendar_obj = Calendar()                             		# 创建默认的Calendar对象

itermonth= calendar_obj.itermonthdays(2020,5)  				# 获取2020年5月份日期对应天数的迭代器

for i in itermonth:                                       	# 循环遍历迭代器中日期对应的天数

print(i)                                              		# 打印迭代器中日期对应的天数

22. itermonthdays2()方法——返回某月中日与星期的迭代器

Calendar 类中的 itermonthdays2() 方法用于获取指定月份每天日期与星期的迭代器,如果不是当月的日期显示为 0。语法格式如下:

Calendar对象名.itermonthdays2(year,month)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • 返回值:返回一个迭代器,其内容为指定月份中每天日期对应的天数与星期所组成的元组,并且包含当前月份开始周与结束周的所有星期(星期数字同样以 0 开始表示星期一),如果不是当月的日期显示为 0。

使用 itermonthdays2() 方法获取指定月份的日期天数与对应的星期,代码如下:

from calendar import Calendar                             	# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                   # 创建默认的Calendar对象decimal  

itermonth= calendar_obj.itermonthdays2(2020,8)    			# 获取2020年8月份日期对应天数与星期的迭代器

	for i in itermonth: 			 						# 循环遍历迭代器中日期对应的天数与星期

		# 打印迭代器中日期对应的天数与星期,其中代表星期的数字0表示星期1,数字6表示星期日
		print(i)

23. itermonthdays3()方法——返回指定月份对应的日期迭代器

Calendar 类中的 itermonthdays3() 方法用于获取指定月份对应的日期迭代器,其中包含当前月份开始周与结束周的所有日期。语法格式如下:

Calendar对象名.itermonthdays3(year,month)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • 返回值:返回一个迭代器,其内容为指定月份内的所有日期对应的(年、月、日)所组成的元组,其中包含当前月份开始周与结束周的所有日期。

itermonthdays3() 方法与 itermonthdates() 方法类似,只是返回的年、月、日为元组形式,代码如下:

from calendar import Calendar                             			# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                   		# 创建默认的Calendar对象

itermonth= calendar_obj.itermonthdays3(2020,8)      				# 获取2020年8月份内的(年、月、日)

for i in itermonth:                                             	# 循环遍历迭代器中的(年、月、日)

print(i)                                                          	# 打印迭代器中(年、月、日)

24. itermonthdays4()方法——返回年、月、日、星期的迭代器

Calendar 类中的 itermonthdays4() 方法用于获取指定月份中(年、月、日、星期数字)的迭代器,其中包含当前月份开始周与结束周的所有日期。语法格式如下:

Calendar对象名.itermonthdays4(year,month)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • 返回值:返回一个迭代器,其内容为指定月份内对应的(年、月、日、星期数字)所组成的元组,其中包含当前月份开始周与结束周的所有日期的(年、月、日、星期数字),其中星期数字同样以 0 开始,0 代表星期一。

itermonthdays4() 方法与 itermonthdays3() 方法类似,只是在返回的参数中多了一个星期数字,代 码如下:

from calendar import Calendar                             		# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                   	# 创建默认的Calendar对象decimal

itermonth= calendar_obj.itermonthdays4(2019,8)      			# 获取2020年8月份内的(年、月、日、星期数字)

for i in itermonth:                                             # 循环遍历迭代器中的(年、月、日、星期数字)

print(i)                                                     	# 打印迭代器中(年、月、日、星期数字)

25. iterweekdays()方法——返回一周数字的迭代器

Calendar 类中的 iterweekdays() 方法用于获取一周数字的迭代器。语法格式如下:

Calendar对象名.iterweekdays()

参数说明:

  • 返回值:返回一周数字的迭代器,迭代器的第一个值与 firstweekday 的值相同。

使用 iterweekdays() 方法获取一周数字的迭代器,代码如下:

from calendar import Calendar                                        	# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                              	# 创建默认的Calendar对象

print(‘返回的迭代器为:’,calendar_obj.iterweekdays())        			# 打印迭代器对象

# 将返回的迭代器转换为列表,其中的值表示星期一至星期日,0为星期一,一周的第一天

print(‘将迭代器转换为列表:’,list(calendar_obj.iterweekdays()))

26. monthdatescalendar()方法——返回指定年、月的周列表

Calendar 类中的 monthdatescalendar() 方法用于获取指定年、月的周列表,该列表为二维列表。语法格式如下:

Calendar对象名.monthdatescalendar(year,month)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • 返回值:返回一个二维列表,其内容为指定月份内的日期列表,包括当前月份开始周与结束周的日期信息。

使用 monthdatescalendar() 方法获取 2020 年 8 月份的周列表,代码如下:

from calendar import Calendar                                   		# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                        		# 创建默认的Calendar对象

# 获取2020年8月份的周列表,该列表为二维列表

week_list= calendar_obj.monthdatescalendar(2020,8)

for i in week_list:                                                  	# 循环遍历列表中的周列表

print(i)                                                        		# 打印周列表

27. monthdays2calendar()方法——返回某月中日与星期的列表

Calendar 类中的 monthdatescalendar() 方法用于获取指定月份中日期对应的天数与星期数字(不是当前月份的天数为 0)所组成的列表,该列表为二维列表。语法格式如下:

Calendar对象名.monthdays2calendar(year,month)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • 返回值:返回一个二维列表,其内容为指定月份中日期对应的天数与星期数字(不是当前月份的天数为 0)所组成的列表(以周进行划分),包括当前月份开始周与结束周的日期信息。

使用 monthdays2calendar() 方法获取 2020 年 10 月份的日期天数与对应的星期数字列表,代码如下:

from calendar import Calendar                                        		# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                              		# 创建默认的Calendar对象

# 获取2020年10月份日期天数与对应的星期数字,该列表为二维列表

week_list= calendar_obj.monthdays2calendar(2020,10)

for i in week_list:                                                        	# 循环遍历列表中的日期天数与对应的星期数字

print(i)# 打印日期天数与对应的星期数字列表

28. monthdayscalendar()方法——返回某月中的日期列表

Calendar 类中的 monthdayscalendar() 方法用于获取指定月份中日期天数(不是当前月份的天数为 0)所组成的列表,该列表为二维列表。语法格式如下:

Calendar对象名.monthdayscalendar(year,month)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • 返回值:返回一个二维列表,其内容为指定月份中日期天数(不是当前月份的天数为 0)所组成的列表(以周进行划分),包括当前月份开始那周与结束那周的日期信息。

使用 monthdayscalendar() 方法获取指定月份中的日期天数,代码如下:

from calendar import Calendar                                   		# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                       	 	# 创建默认的Calendar对象

# 获取2020年7月份日期天数,该列表为二维列表

days_list= calendar_obj.monthdayscalendar(2020,7)

for i in days_list:                                                   	# 循环遍历列表中的日期天数

print(i)                                                           		# 打印日期天数列表

29. yeardatescalendar()方法——返回一年中 每个月的日期列表

Calendar 类中的 yeardatescalendar() 方法用于获取指定年份中所有日期所组成的列表,该列表为四维列表。语法格式如下:

Calendar对象名.yeardatescalendar(year,width=3)

参数说明:

  • year :指定年份。

  • width :默认值为 3,表示将一年中的 12 个月进行划分,每 width(默认 3)个月为一份,每份中包含对应的月份,每个月中包含对应的周,每周包含对应的 1~7 天(每一天为 datetime.date对象)。

  • 返回值:返回一个四维列表,其内容为指定年份中所有日期所组成的列表,包括月份开始周与结束周的日期信息。

使用 yeardatescalendar() 方法获取 2020 年中每个月的日期列表,代码如下:

from calendar import Calendar                             			# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                   		# 创建默认的Calendar对象

# 获取2020年每个月所有日期,该列表为四维列表

dates_list= calendar_obj.yeardatescalendar(2020,1)

for i in dates_list:                                             	# 循环遍历列表中的日期

print(i)                                                          	# 打印一年中每月的日期列表

30. yeardays2calendar()方法——返回每个月的 日与星期的列表

Calendar 类中的 yeardays2calendar() 方法用于获取指定年份中日期天数与星期数字组成的元组所组成的列表,该列表为四维列表。语法格式如下:

Calendar对象名.yeardays2calendar(year,width=3)

参数说明:

  • year :指定年份。

  • width :默认值为 3,表示将一年中的 12 个月进行划分,每 width(默认 3)个月为一份,每份中包含对应的月份,每个月中包含对应的周,每周包含对应的日期天数与星期数字组成的元组。

  • 返回值:返回一个四维列表,其内容为指定年份中日期天数与星期数字组成的元组所组成的列表,包括月份开始周与结束周的日期天数与星期数字。

使用 yeardays2calendar() 方法获取 2020 年每月的日期天数和星期数字,代码如下:

from calendar import Calendar                         				# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                        	# 创建默认的Calendar对象

# 获取2020年每个月的日期天数与星期数字,该列表为四维列表

dates_week_list= calendar_obj.yeardays2calendar(2020,1)

for i in dates_week_list:                           				# 循环遍历列表中的日期天数与星期数字

print(i)                                                           	# 打印一年中每月的日期天数与星期数字的列表

31. yeardayscalendar()方法——返回指定年份中每个月日期天数所组成的列表

Calendar 类中的 yeardayscalendar() 方法用于获取指定年份中每个月日期天数所组成的列表,该列表为四维列表。语法格式如下:

Calendar对象名.yeardayscalendar(year,width=3)

参数说明:

  • year :指定年份。

  • width :默认值为 3,表示将一年中的 12 个月进行划分,每 width(默认 3)个月为一份,每份中包含对应的月份,每个月中包含对应的周,每周包含对应的日期天数(不是当前月份的天数为 0)。

  • 返回值:返回一个四维列表,其内容为指定年份中每个月的日期天数所组成的列表,包括月份开始周与结束周的日期天数。

使用 yeardayscalendar() 方法获取 2020 年每个月的日期天数,代码如下:

from calendar import Calendar                                   	# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                        	# 创建默认的Calendar对象

# 获取2020年每个月的日期天数,该列表为四维列表

days_list= calendar_obj.yeardayscalendar(2020,1)

for i in days_list:                                                 # 循环遍历列表中的日期天数

print(i)                                                           	# 打印一年中每个月的日期天数列表

32. HTMLCalendar类

HTMLCalendar 类用于创建 HTML 日历。语法格式如下:

Calendar.HTMLCalendar(firstweekday = 0

参数说明:

  • firstweekday :表示一周的第一天为星期几,默认 0 为星期一,6 为星期日。

创建一个一周第一天为星期日的 HTMLCalendar 对象,然后通过 formatmonth() 方法获取 2020年 4 月 HTML 日历的表格代码,代码如下:

from calendar import HTMLCalendar                     # 导入日历模块中的HTMLCalendar类

# 创建一周第一天为星期日的HTMLCalendar对象

htmlcalendar_object = HTMLCalendar(firstweekday=6)

# 打印2020年4月html日历表格代码,该日历一周的第一天为星期日

print(htmlcalendar_object.formatmonth(2020,4))

33. HTMLCalendar类——日历样式相关属性

HTMLCalendar 类具有如表1 所示的日历样式相关属性,可以重载来自定义应用日历的样式。

在这里插入图片描述

34. formatmonth()方法——将指定月份的日历以html表格方式返回

HTMLCalendar 类中的 formatmonth() 方法用于返回指定月份日历的 HTML 表格。语法格式如下:

HTMLCalendar对象名.formatmonth(theyear, themonth, withyear=True)

参数说明:

  • theyear :表示年份。

  • themonth :表示月份。

  • withyear :当此参数为 True 时,年份将显示在返回的 HTML 表格的标题中,否则将仅显示月份。默认为 True。

  • 返回值:将指定月份的日历以 HTML 表格代码的方式返回。

使用 formatmonth() 方法获取 2020 年 8 月份日历对应的 HTML 表格代码,代码如下:

from calendar import HTMLCalendar                          	# 导入日历模块中的HTMLCalendar类

htmlcalendar_object = HTMLCalendar()                       	# 创建HTMLCalendar对象

print(htmlcalendar_object.formatmonth(2020,8))            	# 打印2020年8月份日历对应的HTML表格代码

35. formatyear()方法——返回HTML格式的年份日历

HTMLCalendar 类中的 formatyear() 方法用于返回指定年份日历的 HTML 表格。语法格式如下:

HTMLCaLendar对象名.formatyear(theyear,width=3)
  • theyear :表示年份。

  • width :默认值为 3,表示年份日历的 HTML 表格以三个月为一行共四行显示。

  • 返回值:将指定年份的日历以 HTML 表格代码的方式返回。

使用 formatyear() 方法获取 2020 年日历对应的 HTML 表格代码,代码如下:

from calendar import HTMLCalendar               	# 导入日历模块中的HTMLCalendar类

htmlcalendar_object = HTMLCalendar()           		# 创建HTMLCalendar对象

print(htmlcalendar_object.formatyear(2020))      	# 打印2020年日历对应的HTML表格代码

36. formatyearpage()方法——返回HTML格式的年份日历

HTMLCalendar 类中的 formatyearpage() 方法用于返回指定年份日历完整的 HTML 页面,该页面代码为字节类型。语法格式如下:

HTMLCalendar对象名.formatyearpage(theyear, width=3, css=’calendar.css’, encoding=None)

参数说明:

  • theyear :表示年份。

  • width :默认值为 3,表示年份日历的 HTML 页面中以三个月为一行共四行显示。

  • css :表示指定 css 样式的名称。

  • encoding :表示编码方式,默认为系统编码。

  • 返回值:返回指定年份日历完整的 HTML 页面,该页面代码为字节类型。

使用 formatyearpage() 方法获取 2020 年日历完整的 HTML 页面代码,代码如下:

from calendar import HTMLCalendar                                	# 导入日历模块中的HTMLCalendar类

htmlcalendar_object = HTMLCalendar()                            	# 创建HTMLCalendar对象

html_bytes = htmlcalendar_object.formatyearpage(2020)        		# 获取字节类型的HTML页面代码

print(html_bytes.decode(encoding=’utf-8))                        	# 打印2020年日历对应的HTML页面代码

37. TextCalendar类

TextCalendar 类用于创建纯文本的日历。语法格式如下:

Calendar.TextCalendar(firstweekday = 0

参数说明:

  • firstweekday :表示一周的第一天为星期几,默认 0 为星期一,6 为星期日。

使用 TextCalendar 类打印 2020 年 8 月份指定格式的日历,代码如下:

from calendar import TextCalendar            	# 导入日历模块中TextCalendar类

textcalendar_object = TextCalendar()          	# 创建TextCalendar对象

textcalendar_object.prmonth(2020,8,10,2)    	# 打印2020年8月份指定格式的日历

38. formatmonth()方法——获取指定月份字符串类型的日历

TextCalendar 类中的 formatmonth() 方法用于获取指定月份中字符串类型的日历。语法格式如下:

TextCalendar对象名.formatmonth(theyear, themonth, w=0, l=0)

参数说明:

  • theyear :指定年份。

  • themonth :指定月份。

  • w :用于设置日历中每列日期的宽度。

  • l :用于设置日历中每周所占用的行数。

  • 返回值:返回以多行字符串形式所组成的月份日历。

使用 formatmonth() 方法获取 2020 年 8 月份的字符串类型日历,代码如下:

from calendar import TextCalendar                       	# 导入日历模块中TextCalendar类

textcalendar_object = TextCalendar()                     	# 创建TextCalendar对象

print(textcalendar_object.formatmonth(2020,8))        		# 打印2020年8月份字符类型的日历

39. formatyear()方法——获取指定年份字符串类型的日历

TextCalendar 类中的 formatyear() 方法用于获取指定年份中字符串类型的日历。语法格式如下:

TextCalendar对象名.formatyear(theyear,w = 2,l = 1,c = 6,m = 3

参数说明:

  • theyear :指定年份。

  • w :用于设置日历中每列日期的宽度。

  • l :用于设置日历中每周所占用的行数。

  • c :用于设置每个月份日历之间的横向距离。

  • l m :用于设置一行显示几个月份日历。

  • 返回值:返回以多行字符串形式表示的一年中所有月份的日历。

使用 formatyear() 方法获取 2020 年中所有月份字符串类型的日历,代码如下:

from calendar import TextCalendar                  	# 导入日历模块中TextCalendar类

textcalendar_object = TextCalendar()               	# 创建TextCalendar对象

print(textcalendar_object.formatyear(2020,m=6)) 	# 打印2020年中所有月份的字符串类型日历

40. prmonth()方法——打印指定月份的日历

TextCalendar 类中的 prmonth() 方法用于打印指定月份的日历。语法格式如下:

TextCalendar对象名.prmonth(theyear, themonth, w=0, l=0)

参数说明:

  • theyear :指定年份。

  • themonth :指定月份。

  • w :用于设置日历中每列日期的宽度。

  • l :用于设置日历中每周所占用的行数。

  • 返回值:返回指定月份的日历。

prmonth() 方法与 formatmonth() 方法类似,都可以获取指定月份的日历,但是 prmonth() 方法用于直接打印指定月份的日历,代码如下:

from calendar import TextCalendar            	# 导入日历模块中TextCalendar类

textcalendar_object = TextCalendar()          	# 创建TextCalendar对象

textcalendar_object.prmonth(2020,6)          	# 打印2020年6月份的日历

41. pryear()方法——打印指定年中所有月份日历

TextCalendar 类中的 pryear() 方法用于打印指定年份的日历。语法格式如下:

TextCalendar对象名.pryear(theyear, w=2, l=1, c=6, m=3)

参数说明:

  • theyear :指定年份。

  • w :用于设置日历中每列日期的宽度。

  • l :用于设置日历中每周所占用的行数。

  • c :用于设置每个月份日历之间的横向距离。

  • m :用于设置一行显示几个月份日历。

  • 返回值:返回指定年中所有月份日历。

from calendar import TextCalendar     	# 导入日历模块中TextCalendar类

textcalendar_object = TextCalendar()   	# 创建TextCalendar对象

textcalendar_object.pryear(2020,m=6)   	# 打印2020年中所有月份的日历
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ASPNET35开发大全非常好 书名:ASP.NET 3.5 开发大全 署名:郭靖 页数:722 这是我见过的一本非常好的教程 第一篇 .NET基础 第1章 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 1.1.2 ASP.NET与ASP 1.1.3 ASP.NET开发工具 1.1.4 ASP.NET客户端 1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual Studio 2008 1.3.2 主窗口 1.3.3 文档窗口 1.3.4 工具箱 1.3.5 解决方案管理器 1.3.6 属性窗口 1.3.7 错误列表窗口 1.4 安装SQL Server 2005 1.5 ASP.NET应用程序基础 1.5.1 创建ASP.NET应用程序 1.5.2 运行ASP.NET应用程序 1.5.3 编译ASP.NET应用程序 1.6 小结 第2章 C# 3.0程序设计基础 2.1 C#程序 2.1.1 C#程序的结构 2.1.2 C# IDE的代码设置 2.2 变量 2.2.1 定义 2.2.2 值类型 2.2.3 引用类型 2.3 变量规则 2.3.1 命名规则和命名习惯 2.3.2 声明并初始化变量 2.3.3 数组 2.3.4 声明并初始化字符串 2.3.5 操作字符串 2.3.6 创建和使用常量 2.3.7 创建并使用枚举 2.3.8 类型转换 2.4 编写表达式 2.4.1 表达式和运算符 2.4.2 运算符的优先级 2.5 使用条件语句 2.5.1 if语句的使用方法 2.5.2 switch选择语句的使用 2.6 使用循环语句 2.6.1 for循环语句 2.6.2 while循环语句 2.6.3 do while循环语句 2.6.4 foreach循环语句 2.7 异常处理语句 2.7.1 throw异常语句 2.7.2 try-catch异常语句 2.7.3 try-finally异常语句 2.7.4 try-catch-finally异常语句 2.8 小结 第3章 面向对象设计基础 3.1 什么是面向对象 3.1.1 传统的面向过程 3.1.2 面向对象的概念 3.1.3 面向组件的概念 3.2 面向对象的C#实现 3.2.1 定义 3.2.2 创建一个类和其方法 3.2.3 类成员 3.2.4 构造函数和析构函数 3.3 对象的生命周期 3.3.1 类成员的访问 3.3.2 类的类型 3.3.3 .NET的垃圾回收机制 3.4 使用命名空间 3.4.1 为什么要用命名空间 3.4.2 创建命名空间 3.4.3 分层设计中使用命名空间 3.5 类的方法 3.5.1 编写方法 3.5.2 给方法传递参数 3.5.3 通过引用来传递参数 3.5.4 方法的重载 3.6 封装 3.6.1 为什么要封装 3.6.2 类的设计 3.7 属性 3.7.1 语法 3.7.2 只读/只写属性 3.8 继承 3.8.1 继承的基本概念 3.8.2 创建派生类 3.8.3 对象的创建 3.8.4 使用抽象类 3.8.5 使用密封类 3.9 多态 3.9.1 抽象方法 3.9.2 覆盖 3.9.3 虚方法的抽象类 3.9.4 抽象属性 3.10 委托和事件 3.10.1 委托 3.10.2 声明事件 3.10.3 引发事件 3.10.4 订阅事件 3.10.5 委托和事件 3.11 类命名 3.11.1 命名空间的命名 3.11.2 类的命名原则 3.11.3 接口的命名原则 3.11.4 属性的命名原则 3.11.5 枚举的命名原则 3.11.6 只读字段的命名原则 3.11.7 参数名 3.11.8 委托命名原则 3.12 小议设计模式 3.12.1 什么是设计模式 3.12.2 为什么要使用设计模式 3.12.3 改装现有类 3.13 小结 第4章 ASP.NET的网页代码模型及生命周期 4.1 ASP.NET的网页代码模型 4.1.1 创建ASP.NET网站 4.1.2 单文件页模型 4.1.3 代码隐藏页模型 4.1.4 创建ASP.NET Web Application 4.1.5 ASP.NET网站和ASP.NET应用程序的区别 4.2 代码隐藏页模型的解释过程 4.3 代码隐藏页模型的事件驱动处理 4.4 ASP.NET客户端状态 4.4.1 视图状态 4.4.2 控件状态 4.4.3 隐藏域 4.4.4 Cookie 4.4.5 客户端状态维护 4.5 ASP.NET页面生命周期 4.6 ASP.NET生命周期中的事件 4.6.1 页面加载事件(Page_PreInit) 4.6.2 页面加载事件(Page_Init) 4.6.3 页面载入事件(Page_Load) 4.6.4 页面卸载事件(Page_Unload) 4.6.5 页面指令 4.7 ASP.NET网站文件类型 4.8 小结 第二篇 ASP.NET窗体控件 第5章 Web窗体的基本控件 5.1 控件的属性 5.2 简单控件 5.2.1 标签控件(Label) 5.2.2 超链接控件(HyperLink) 5.2.3 图像控件(Image) 5.3 文本框控件(TextBox) 5.3.1 文本框控件的属性 5.3.2 文本框控件的使用 5.4 按钮控件(Button,LinkButton,ImageButton) 5.4.1 按钮控件的通用属性 5.4.2 Click单击事件 5.4.3 Command命令事件 5.5 单选控件和单选组控件(RadioButton和RadioButtonList) 5.5.1 单选控件(RadioButton) 5.5.2 单选组控件(RadioButtonList) 5.6 复选框控件和复选组控件(CheckBox和CheckBoxList) 5.6.1 复选框控件(CheckBox) 5.6.2 复选组控件(CheckBoxList) 5.7 列表控件(DropDownList,ListBox和BulletedList) 5.7.1 DropDownList列表控件 5.7.2 ListBox列表控件 5.7.3 BulletedList列表控件 5.8 面板控件(Panel) 5.9 占位控件(PlaceHolder) 5.10 日历控件(Calendar) 5.10.1 日历控件的样式 5.10.2 日历控件的事件 5.11 广告控件(AdRotator) 5.12 文件上传控件(FileUpload) 5.13 视图控件(MultiView和View) 5.14 表控件(Table) 5.15 向导控件(Wizard) 5.15.1 向导控件的样式 5.15.2 导航控件的事件 5.16 XML控件 5.17 验证控件 5.17.1 表单验证控件(RequiredFieldValidator) 5.17.2 比较验证控件(CompareValidator) 5.17.3 范围验证控件(RangeValidator) 5.17.4 正则验证控件(RegularExpressionValidator) 5.17.5 自定义逻辑验证控件(CustomValidator) 5.17.6 验证组控件(ValidationSummary) 5.18 导航控件 5.19 其他控件 5.19.1 隐藏输入框控件(HiddenField) 5.19.2 图片热点控件(ImageMap) 5.19.3 静态标签控件(Lieral) 5.19.4 动态缓存更新控件(Substitution) 5.20 小结 第6章 Web窗体的高级控件 6.1 登录控件 6.1.1 登录控件(Login) 6.1.2 登录名称控件(LoginName) 6.1.3 登录视图控件(LoginView) 6.1.4 登录状态控件(LoginStatus) 6.1.5 密码恢复控件(PasswordRecovery) 6.1.6 密码更改控件(ChangePassword) 6.1.7 生成用户控件(CreateUserWizard) 6.2 网站管理工具 6.2.1 启动管理工具 6.2.2 用户管理 6.2.3 用户角色 6.2.4 访问规则管理 2.6.5 应用程序配置 6.3 使用登录控件 6.3.1 生成用户控件(CreateUserWizard) 6.3.2 密码更改控件(ChangePassword) 6.4 小结 第三篇 数据操作篇 第7章 数据库与ADO.NET基础 7.1 数据库基础 7.1.1 结构化查询语言 7.1.2 表和视图 7.1.3 存储过程和触发器 7.2 使用SQL Server 2005 管理数据库 7.2.1 初步认识SQL Server 2005 7.2.2 创建数据库 7.2.3 删除数据库 7.2.4 备份数据库 7.2.5 还原数据库 7.2.6 创建表 7.2.7 删除表 7.2.8 创建数据库关系图 7.3 ADO.NET连接SQL数据库 7.3.1 ADO.NET基础 7.3.2 连接SQL数据库 7.3.3 ADO.NET过程 7.4 ADO与ADO.NET 7.4.1 ADO概述 7.4.2 ADO.NET与ADO 7.5 ADO.NET 常用对象 7.6 Connection连接对象 7.6.1 连接SQL数据库 7.6.2 连接Access数据库 7.6.3 打开和关闭连接 7.7 DataAdapter适配器对象 7.8 Command执行对象 7.8.1 ExecuteNonQuery方法 7.8.2 ExecuteNonQuery执行存储过程 7.8.3 ExecuteScalar方法 7.9 DataSet数据集对象 7.9.1 DataSet数据集基本对象 7.9.2 DataTable数据表对象 7.9.3 DataRow数据行对象 7.9.4 DataView数据视图对象 7.10 DataReader数据访问对象 7.10.1 DataReader对象概述 7.10.2 DataReader读取数据库 7.10.3 异常处理 7.11 连接池概述 7.12 参数化查询 7.13 小结 第8章 Web窗体的数据控件 8.1 数据源控件 8.1.1 SQL数据源控件(SqlDataSource) 8.1.2 Access数据源控件(AccessDataSource) 8.1.3 目标数据源控件(ObjectDataSource) 8.1.4 LINQ数据源控件(LinqDataSource) 8.1.5 Xml数据源控件(XmlDataSource) 8.1.6 站点导航控件(SiteMapDataSource) 8.2 重复列表控件(Repeater) 8.3 数据列表控件(DataList) 8.4 数据列表控件(GridView) 8.5 数据绑定控件(FormView) 8.6 数据绑定控件(DetailsView) 8.7 数据绑定控件(ListView) 8.8 数据绑定控件(DataPager) 8.9 小结 第9章 ASP.NET操作数据库 9.1 使用ADO.NET操作数据库 9.1.1 使用ExecuteReader()操作数据库 9.1.2 使用ExecuteNonQuery()操作数据库 9.1.3 使用ExecuteScalar()操作数据库 9.1.4 使用ExecuteXmlReader()操作数据库 9.2 ASP.NET创建和插入记录 9.2.1 SQL INSERT数据插入语句 9.2.2 使用Command对象更新记录 9.2.3 使用DataSet数据集插入记录 9.3 ASP.NET更新数据库 9.3.1 SQL UPDATE数据更新语句 9.3.2 使用Command对象更新记录 9.3.3 使用DataSet数据集更新记录 9.4 ASP.NET删除数据 9.4.1 SQL DELETE数据删除语句 9.4.2 使用Command对象删除记录 9.4.3 使用DataSet数据集删除记录 9.5 使用存储过程 9.5.1 存储过程的优点 9.5.2 创建存储过程 9.5.3 调用存储过程 9.6 ASP.NET数据库操作实例 9.6.1 制作用户界面(UI) 9.6.2 使用GridView显示、删除、修改数据 9.6.3 使用DataList显示数据 9.6.4 DataList分页实现 9.6.5 使用SQLHelper操作数据库 9.7 小结 第10章 访问其他数据源 10.1 使用ODBC .NET Data Provider 10.1.1 ODBC .NET Data Provider简介 10.1.2 建立连接 10.2 使用OLE DB.NET Data Provider 10.2.1 OLE DB.NET Data Provider简介 10.2.2 建立连接 10.3 访问MySql 10.3.1 MySql简介 10.3.2 建立连接 10.4 访问Excel 10.4.1 Excel 简介 10.4.2 建立连接 10.5 访问txt 10.5.1 使用ODBE.NET Data Provider连接txt 10.5.2 使用OLE DB .NET Data Provider 连接txt 10.5.3 使用System.IO命名空间 10.6 访问SQLite 10.6.1 SQLite简介 10.6.2 SQLite连接方法 10.7 小结 第四篇 ASP.NET网络编程 第11章 用户控件和自定义控件 11.1 用户控件 11.1.1 什么是用户控件 11.1.2 编写一个简单的控件 11.1.3 将Web窗体转换成用户控件 11.2 自定义控件 11.2.1 实现自定义控件 11.2.2 复合自定义控件 11.3 用户控件和自定义控件的异同 11.4 用户控件示例 11.4.1 ASP.NET登录控件 11.4.2 ASP.NET登录控件的开发 11.4.3 ASP.NET登录控件的使用 11.5 自定义控件实例 11.5.1 ASP.NET分页控件 11.5.2 ASP.NET分页控件的使用 11.6 小结 第12章 ASP.NET的皮肤、主题和母版页 12.1 皮肤和主题 12.1.1 CSS简介 12.1.2 CSS基础 12.1.3 CSS常用属性 12.1.4 将CSS应用在控件上 12.1.5 主题和皮肤 12.1.6 页面主题和全局主题 12.1.7 应用和禁用主题 12.1.8 用编程的方法控制主题 12.2 母版页 12.2.1 母版页基础 12.2.2 内容窗体 12.2.3 母版页的运行方法 12.2.4 嵌套母版页 12.3 Microsoft Expression 2 12.3.1 Microsoft Expression 2简介 12.3.2 安装Microsoft Expression 2 12.4 使用Microsoft Expression Web 2制作页面 12.4.1 创建ASPX页面 12.4.2 创建CSS层叠样式表 12.4.3 创建框架集 12.5 小结 第13章 ASP.NET内置对象,应用程序配置和缓存 13.1 ASP.NET内置对象 13.1.1 Request传递请求对象 13.1.2 Response请求响应对象 13.1.3 Application状态对象 13.1.4 Session状态对象 13.1.5 Server服务对象 13.1.6 Cookie状态对象 13.1.7 Cache缓存对象 13.1.8 Global.asax配置 13.2 ASP.NET应用程序配置 13.2.1 ASP.NET应用程序配置 13.2.2 Web.config配置文件 13.2.3 ASP.NET基本配置节 13.3 ASP.NET缓存功能 13.3.1 缓存概述 13.3.2 页面输出缓存 13.3.3 页面部分缓存 13.3.4 应用程序数据缓存 13.3.5 检索应用程序数据缓存对象 13.4 小结 第14章 ASP.NET XML和Web Service 14.1 XML简介 14.2 读写XML 14.2.1 XML与HTML 14.2.2 创建XML文档 14.2.3 XML控件 14.2.4 XML文件读取类(XmlTextReader) 14.2.5 XML文件编写类(XmlTextWriter) 14.2.6 XML文本文档类(XmlDocument) 14.3 XML串行化 14.3.1 XmlSerializer串行化类 14.3.2 基本串行化 14.4 XML样式表XSL 14.4.1 XSL简介 14.4.2 使用XSLT 14.5 Web服务(Web Service) 14.5.1 什么是Web服务 14.5.2 Web服务体系结构 14.5.3 Web服务协议栈 14.6 简单Web Service示例 14.7 自定义Web Service 14.7.1 创建自定义的Web Service 14.7.2 使用自定义的Web Service 14.8 小结 第五篇 ASP.NET 3.5高级编程 第15章 图形图像编程 15.1 图形图像基础 15.1.1 图像布局 15.1.2 GDI+简介 15.1.3 绘制线条示例 15.1.4 .NET Framework绘图类 15.2 图形编程 15.2.1 Graphics类 15.2.2 绘制基本图形 15.2.3 图形绘制实例 15.3 绘制文字特效 15.3.1 投影特效 15.3.2 倒影特效 15.3.3 旋转特效 15.4 绘制图片 15.4.1 载入图像文件 15.4.2 GDI+输出图像 15.5 图像特效处理 15.5.1 底片效果 15.5.2 浮雕效果 15.6 小结 第16章 ASP.NET 3.5和AJAX 16.1 AJAX基础 16.1.1 什么是AJAX 16.1.2 ASP.NET AJAX入门 16.1.3 ASP.NET 2.0 AJAX 16.1.4 ASP.NET 3.5 AJAX 16.1.5 AJAX简单示例 16.2 ASP.NET 3.5AJAX控件 16.2.1 脚本管理控件(ScriptManger) 16.2.2 脚本管理控件(ScriptMangerProxy) 16.2.3 时间控件(Timer) 16.2.4 更新区域控件(UpdatePanel) 16.2.5 更新进度控件(UpdateProgress) 16.3 AJAX编程 16.3.1 自定义异常处理 16.3.2 使用母版页的UpdatePanel 16.3.3 母版页刷新内容窗体 16.4 小结 第17章 ASP.NET MVC基础 17.1 了解MVC 17.1.1 MVC和Web Form 17.1.2 ASP.NET MVC的运行结构 17.2 ASP.NET MVC基础 17.2.1 安装ASP.NET MVC 17.2.2 新建一个MVC应用程序 17.2.3 ASP.NET MVC应用程序的结构 17.2.4 运行ASP.NET MVC应用程序 17.3 ASP.NET MVC原理 17.3.1 ASP.NET MVC运行流程 17.3.2 ASP.NET MVC工作原理 17.4 ASP.NET MVC开发 17.4.1 创建ASP.NET MVC页面 17.4.2 ASP.NET MVC 数据呈现(ViewData) 17.4.3 ASP.NET MVC 跨页数据呈现(TempData) 17.4.4 ASP.NET MVC页面重定向 17.4.5 ASP.NET MVC URL路由(URLRouting) 17.4.6 ASP.NET MVC控件辅助工具(Helper) 17.4.7 ASP.NET MVC表单传值 17.5 小结 第18章 WCF开发基础 18.1 了解WCF 18.1.1 什么是WCF 18.1.2 为什么需要WCF 18.2 WCF基础 18.2.1 服务 18.2.2 地址 18.2.3 契约 18.3 WCF应用 18.3.1 创建WCF应用 18.3.2 创建WCF方法 18.4 WCF消息传递 18.4.1 消息传递 18.4.2 消息操作 18.5 使用WCF服务 18.5.1 在客户端添加WCF服务 18.5.2 在客户端使用WCF服务 18.6 小结 第19章 WPF开发基础 19.1 了解WPF 19.1.1 什么是WPF 19.2 WPF的应用范围 19.2 WPF和Microsoft Expression 19.2.1 使用Microsoft Expression Blend设计WPF 19.2.2 WPF控件样式 19.2.3 浅谈XAML 19.2.4 WPF控件层次 19.3 WPF应用程序开发 19.3.1 WPF动画事件 19.3.2 WPF时间轴 19.3.3 WPF事件处理 19.4 WPF系统开发 19.4.1 WPF系统需求 19.4.2 WPF界面开发 19.4.3 WPF动画制作 19.4.4 WPF事件编写 19.5 小结 第六篇 ASP.NET 3.5与LINQ 第20章 ASP.NET 3.5与LINQ 20.1 什么是LINQ 20.1.1 LINQ起源 20.1.2 LINQ构架 20.1.3 LINQ与Visual Studio 2008 新特性 20.2 LINQ与Web应用程序 20.2.1 创建使用LINQ的Web应用程序 20.2.2 基本的LINQ数据查询 20.2.3 IEnumerable和IEnumerable<T>接口 20.2.4 IQueryProvider和IQueryable<T>接口 20.2.5 LINQ相关的命名空间 20.3 Lambda表达式 20.3.1 匿名方法 20.3.2 Lambda表达式基础 20.3.3 Lambda表达式格式 20.3.4 Lambda表达式树 20.3.5 访问Lambda表达式树 20.4 小结 第21章 使用LINQ查询 21.1 LINQ查询概述 21.1.1 准备数据源 21.1.2 使用LINQ 21.1.3 执行LINQ查询 21.2 LINQ查询语法概述 21.3 基本子句 21.3.1 from查询子句 21.3.2 where条件子句 21.3.3 select选择子句 21.3.4 group分组子句 21.3.5 orderby排序子句 21.3.6 into连接子句 21.3.7 join连接子句 21.3.8 let临时表达式子句 21.4 LINQ查询操作 21.4.1 LINQ查询概述 21.4.2 投影操作 21.4.3 筛选操作 21.4.4 排序操作 21.4.5 聚合操作 21.5 使用LINQ查询和操作数据库 21.5.1 简单查询 21.5.2 建立连接 21.5.3 插入数据 21.5.4 修改数据 21.5.5 删除数据 21.6 LINQ与MVC 21.6.1 创建ASP.NET MVC应用程序 21.6.2 创建LINQ to SQL 21.6.3 数据查询 21.7 小结 第七篇 ASP.NET 3.5模块开发 第22章 注册模块设计 22.1 学习要点 22.2 系统设计 22.2.1 模块功能描述 22.2.2 模块流程分析 22.3 数据库设计 22.3.1 数据库的分析和设计 22.3.2 数据表的创建 22.4 界面设计 22.4.1 基本界面 22.4.2 创建CSS 22.5 代码实现 22.5.1 验证控制 22.5.2 过滤输入信息 22.5.3 插入注册信息 22.5.4 管理员页面 22.6 实例演示 22.7 小结 第23章 登录模块设计 23.1 学习要点 23.2 系统设计 23.2.1 模块功能描述 22.2.2 模块流程分析 23.3 数据库设计 23.3.1 数据库设计分析 23.3.2 数据库表的创建 23.4 界面设计 23.4.1 基本界面 23.4.2 创建CSS 23.4.3 发送密码页面 23.5 代码实现 23.5.1 登录代码实现 23.5.2 邮件发送页面 23.5.3 根据不同的用户显示不同的内容 23.6 实例演示 23.7 小结 第24章 广告模块设计 24.1 学习要点 24.2 系统设计 24.2.1 模块功能描述 24.2.2 模块流程分析 24.3 数据库设计 24.3.1 数据库设计分析 24.3.2 数据库表的创建 24.4 界面设计 24.4.1 发布广告界面 24.4.2 发布广告页数据源配置 24.4.3 修改广告界面 24.4.4 管理广告界面 24.4.5 分类管理界面 24.5 代码实现 24.5.1 广告添加功能 24.5.2 广告修改功能 24.5.3 自定义控件的实现 24.6 实例演示 24.7 小结 第25章 新闻模块设计 25.1 学习要点 25.2 系统设计 25.2.1 模块功能描述 25.2.2 模块流程分析 25.3 数据库设计 23.3.1 数据库设计 25.3.2 数据表的创建 25.4 界面设计 25.4.1 登录界面 25.4.2 后台框架集 25.4.3 新闻发布页面 25.4.4 新闻修改页面 25.4.5 新闻管理页面 25.4.6 新闻分类管理页面 25.5 代码实现 25.5.1 导航菜单配置 25.5.2 身份验证页面 25.5.3 新闻发布页面 25.5.4 静态生成功能 25.5.5 新闻显示页面 25.5.6 静态模板编写 25.6 实例演示 25.7 小结 第26章 投票模块设计 26.1 学习要点 26.2 系统设计 26.2.1 模块功能描述 26.2.2 模块流程分析 26.3 数据库设计 26.3.1 数据库设计 26.3.2 数据表的创建 26.4 界面设计 26.4.1 后台框架集 26.4.2 投票管理页面 26.4.3 投票发布页面 26.4.4 投票修改页面 26.4.5 投票删除页面 26.5 代码实现 26.5.1 添加投票代码实现 26.5.2 修改投票代码实现 26.5.3 删除投票代码实现 26.5.4 显示投票代码实现 26.5.5 用户投票代码实现 26.6 实例演示 26.7 小结 第27章 聊天模块设计 27.1 学习要点 27.2 系统设计 27.2.1 模块功能描述 27.2.2 模块流程分析 27.3 界面设计 27.3.1 登录界面设计 27.3.2 登录界面CSS 27.3.3 聊天室显示界面 27.3.4 聊天室界面CSS 27.4 代码实现 27.4.1 登录代码实现 27.4.2 多人聊天代码实现 27.4.3 单人聊天代码实现 27.4.4 聊天记录保存实现 27.5 实例演示 27.6 小结 第六篇 ASP.NET 3.5应用实例 第28章 制作一个ASP.NET留言本 28.1 系统设计 28.1.1 需求分析 28.1.2 系统功能设计 28.1.3 模块功能划分 28.2 数据库设计 28.2.1 数据库的分析和设计 28.2.2 数据表的创建 28.2.3 数据表关系图 28.3 系统公用模块的创建 28.3.1 创建CSS 28.3.2 使用SQLHepler 28.3.3 配置Web.config 28.4 系统界面和代码实现 28.4.1 留言板用户控件 28.4.2 管理员登录实现 28.4.3 用户注册登录实现 28.4.4 用户登录实现 28.4.5 留言本界面布局 28.4.6 留言功能实现 28.4.7 回复功能实现 28.4.8 删除功能的实现 28.4.9 用户索引实现 28.5 用户体验优化 28.5.1 AJAX留言实现 28.5.2 AJAX数据重绑定 28.5.3 系统导航实现 28.5.4 侧边栏界面优化 28.6 用户功能实现 28.6.1 用户信息界面 28.6.2 用户信息修改实现 28.6.3 用户信息删除实现 28.6.4 用户注销 28.7 实例演示 28.7.1 准备数据源 28.7.2 基本实例演示 28.7.3 用户功能演示 28.8 小结 第29章 制作一个ASP.NET校友录系统 第29章 制作一个ASP.NET校友录系统 29.1 系统设计 29.1.1 需求分析 29.1.2 系统功能设计 29.1.3 模块功能划分 29.2 数据库设计 29.2.1 数据库分析和设计 29.2.2 数据表的创建 29.3 数据表关系图 29.4 系统公用模块的创建 29.4.1 使用Fckeditor 29.4.2 使用SQLHelper 29.4.3 配置Web.config 29.5 系统界面和代码实现 29.5.1 用户注册实现 29.5.2 用户登录实现 29.5.3 校友录页面规划 29.5.4 自定义控件实现 29.5.5 校友录页面实现 29.5.6 日志发布实现 29.5.7 日志修改实现 29.5.8 管理员日志删除 29.5.9 日志显示页面 29.5.10 用户索引页面 29.5.11 管理员用户删除 29.6 用户体验优化 29.6.1 超链接样式优化 29.6.2 默认首页优化 29.6.3 导航栏编写 29.6.4 AJAX留言优化 29.6.5 优化留言表情 29.7 高级功能实现 29.7.1 后台管理页面实现 29.7.2 日志管理实现 29.7.3 日志修改和删除实现 29.7.4 评论删除实现 29.7.5 板报功能实现 29.7.6 用户修改和删除实现 29.7.7 用户权限管理 29.7.8 权限及注销实现 29.8 实例演示 29.8.1 准备数据源 29.8.2 基本实例演示 29.8.3 管理后台演示 29.9 小结
本书全面介绍了ASP.NET各种编程技能和2.0版中的巨大变化,并详细阐述了2.0版中的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET平台下开发功能强大的ASP.NET应用程序。本书适合有一些基础的ASP.NET初级程序员以及准备迁移到ASP.NET 2.0的编程老手。该书与《ASP.NET 2.0入门经典(第4版)》及其早期版本,曾影响到无数中国Web程序员。 目录 第1章 ASP.NET 2.0概述1 1.1 简史1 1.2 ASP.NET 2.0的目标2 1.2.1 开发人员的效率3 1.2.2 管理5 1.2.3 性能和可伸缩性8 1.3 ASP.NET 2.0的其他新特性8 1.3.1 新的开发人员体系结构8 1.3.2 新的编译系统12 1.3.3 页面框架的新增内容13 1.3.4 访问数据的新对象15 1.3.5 新的服务器控件15 1.4 建立ASP.NET 2.0   页面的新IDE16 1.5 小结17 第2章 Visual Studio 200519 2.1 启动页面19 2.2 文档窗口20 2.2.1 文档窗口中的视图20 2.2.2 标记导航器21 2.2.3 页面标签22 2.2.4 代码改变状态的通知23 2.2.5 错误通知和辅助23 2.3 工具箱25 2.4 Solution Explorer26 2.5 Server Explorer28 2.6 Properties窗口28 2.7 丢失的窗口29 2.8 其他常见的Visual Studio操作29 2.8.1 创建新项目29 2.8.2 引用其他对象30 2.8.3 使用智能标记32 2.8.4 保存和导入    Visual Studio设置32 2.8.5 验证HTML34 2.8.6 团队的合作36 2.8.7 使用代码片断36 2.9 小结38 第3章 应用程序和页面框架39 3.1 应用程序的位置选项39 3.1.1 内置的Web服务器39 3.1.2 IIS40 3.1.3 FTP41 3.1.4 Web站点需要    FrontPage Extensions42 3.2 ASP.NET页面结构选项43 3.2.1 内置编码44 3.2.2 新的后台编码模型46 3.3 ASP.NET 2.0的Page指令48 3.3.1 @Page49 3.3.2 @Master51 3.3.3 @Control52 3.3.4 @Import53 3.3.5 @Implements54 3.3.6 @Register55 3.3.7 @Assembly55 3.3.8 @PreviousPageType56 3.3.9 @MasterType56 3.3.10 @OutputCache56 3.3.11 @Reference57 3.4 ASP.NET页面的事件57 3.5 处理回送59 3.6 跨页面的传送59 3.7 ASP.NET应用程序文件夹66 3.7.1 \\App_Code文件夹66 3.7.2 \\App_Data文件夹70 3.7.3 \\App_Themes文件夹70 3.7.4 \\App_GlobalResources    文件夹71 3.7.5 \\App_LocalResources    文件夹74 3.7.6 \\App_WebReferences    文件夹74 3.7.7 \\App_Browsers文件夹74 3.8 编译75 3.9 Global.asax78 3.10 小结79 第4章 ASP.NET服务器控件     和客户端脚本81 4.1 ASP.NET服务器控件81 4.1.1 服务器控件的类型82 4.1.2 用服务器控件建立页面83 4.1.3 处理服务器控件的事件84 4.2 给服务器控件应用样式87 4.2.1 控件的常见属性87 4.2.2 使用层叠样式表    改变样式88 4.3 HTML服务器控件93 4.3.1 HtmlControl基类95 4.3.2 HtmlContainerControl类96 4.3.3 所有的HTML类96 4.3.4 使用HtmlGeneric    Control类97 4.4 通过JavaScript处理页面和   服务器控件98 4.4.1 使用Page.ClientScript.    RegisterClient    ScriptBlock100 4.4.2 使用Page.ClientScript.  18.2.2 基于Windows的      身份验证模式615  18.2.3 基于窗体的身份验证622  18.2.4 Passport身份验证631 18.3 验证特定的文件和文件夹632 18.4 编程授权632  18.4.1 使用User.Identity633  18.4.2 使用User.IsInRole()634  18.4.3 用WindowsIdentity      显示更多信息635 18.5 身份和模拟637 18.6 通过IIS进行保护640  18.6.1 IP地址和域名限制640  18.6.2 使用文件扩展名641  18.6.3 使用新的     ASP.NET MMC插件643 18.7 小结644 第19章 状态管理645 19.1 如何选择645 19.2 ASP.NET 2.0中的    Session对象648  19.2.1 会话和事件模型648  19.2.2 配置会话状态的管理649  19.2.3 进程中的会话状态650  19.2.4 进程外的会话状态657  19.2.5 SQL支持的会话状态662  19.2.6 用其他提供程序      扩展会话状态664  19.2.7 无Cookie的会话状态666  19.2.8 选择维护状态的      正确方式667 19.3 Application对象667 19.4 查询字符串668 19.5 Cookie668 19.6 回送和跨页面的回送669 19.7 隐藏的字段、ViewState    和ControlState671 19.8 为短时间状态存储应用    HttpContext.Current.Items675 19.9 小结676 第20章 高速缓存679 20.1 高速缓存679  20.1.1 输出高速缓存679  20.1.2 部分页面(UserControl) 的高速缓存682  20.1.3 Post-Cache Substitution683  20.1.4 HttpCachePolicy和 客户端高速缓存685 20.2 编程高速缓存687  20.2.1 使用Cache对象 高速缓存数据687  20.2.2 高速缓存依赖性688 20.3 使用SQL Server高速    缓存依赖性694  20.3.1 使数据库支持SQL       Server高速缓存       禁用功能695  20.3.2 使表支持SQL Server 高速缓存禁用功能695  20.3.3 对SQL Server的影响695  20.3.4 查看支持SQL       高速缓存禁用功能的表696  20.3.5 使表不支持       SQL Server高速       缓存禁用功能697  20.3.6 使数据库不支持       SQL Server高速       缓存禁用功能697  20.3.7 SQL Server 2005       高速缓存禁用功能698 20.4 配置ASP.NET应用程序699 20.5 测试SQL Server高速缓存 禁用功能700  20.5.1 给页面添加多个表702  20.5.2 给SQL Server 高速缓存依赖性和 Request对象建立关联702  20.5.3 给SQL Server 高速缓存依赖性 和Cache对象建立关联703 20.6 小结706 第21章 调试和错误处理技术709 21.1 设计期间的支持709  21.1.1 语法通知709  21.1.2 Immediate和 Command窗口711  21.1.3 任务列表712 21.2 跟踪713  21.2.1 System.Diagnostics. Trace和ASP.NET 的Page.Trace713  21.2.2 页面级的跟踪713  21.2.3 应用程序的跟踪714  21.2.4 查看跟踪数据714  21.2.5 在组件中跟踪717  21.2.6 跟踪的传送718  21.2.7 TraceListener719  21.2.8 诊断选项723 21.2.9 Web事件724 21.3 调试726 21.3.1 需要的内容726 21.3.2 IIS和ASP.NET      开发服务器727 21.3.3 启动调试会话728 21.3.4 有助于调试的新工具731 21.3.5 SQL存储过程的调试734 21.4 异常和错误处理735 21.4.1 处理页面上的异常735 21.4.2 处理应用程序异常736 21.4.3 HTTP状态码737 21.5 小结738 第22章 文件I/O和流739 22.1 使用驱动器、目录和文件739 22.1.1 DriveInfo类739 22.1.2 Directory和      DirectoryInfo类743 22.1.3 File和FileInfo类749 22.1.4 使用路径753 22.1.5 文件和目录的属性、      特性和访问控制列表757 22.2 读写文件764 22.2.1 流764 22.2.2 Reader和Writer769 22.2.3 压缩流773 22.3 处理串行端口779 22.4 网络通信779 22.4.1 WebRequest和      WebResponse779 22.4.2 发送邮件786 22.5 小结787 第23章 用户控件、服务器控件、      模块和HttpHandler789 23.1 用户控件789 23.1.1 创建用户控件790 23.1.2 与用户控件交互792 23.2 服务器控件794 23.2.1 项目的建立794 23.2.2 控件的属性798 23.2.3 控件的显示799 23.2.4 添加标记属性802 23.2.5 给HTML设置样式804 23.2.6 主题和Skin806 23.2.7 添加客户端特性807 23.2.8 检测和响应      浏览器功能816 23.2.9 使用ViewState819 23.2.10 启动PostBack事件824 23.2.11 处理回送数据828 23.2.12 复合控件830 23.2.13 模板化控件832 23.2.14 在设计期间创建控件840 23.3 模块和处理程序858 23.3.1 HttpModule859 23.3.2 HttpHandler869 23.4 小结875 第24章 使用业务对象877 24.1 使用ASP.NET 2.0    中的业务对象877 24.1.1 创建预编译的.NET     业务对象877 24.1.2 在ASP.NET应用     程序中使用预编译     的业务对象880 24.2 COM交互操作性:在.NET 中使用COM881 24.2.1 运行库可     调用包装(RCW)881 24.2.2 在ASP.NET代码中     使用COM对象882 24.2.3 错误处理887 24.2.4 用.NET应用程序     部署COM组件890 24.3 在未受管制的代码中    使用.NET891 24.3.1 COM可调用包装(CCW)892 24.3.2 在COM对象中     使用.NET组件893 24.3.3 早期绑定和后期绑定897 24.3.4 错误处理898 24.3.5 用COM应用程序     部署.NET组件899 24.4 小结901 第25章 移动开发903 25.1 创建新的ASP.NET移动 Web应用程序903 25.2 使用控件容器907 25.2.1 Form控件907 25.2.2 Panel控件908 25.3 使用样式表908 25.4 使用ASP.NET移动控件910 25.4.1 AdRotator控件910 25.4.2 Calendar控件912 25.4.3 Label控件915 25.4.4 TextBox控件915 25.4.5 TextView控件917 25.4.6 Command控件918 25.4.7 Image控件918 25.4.8 PhoneCall控件919 25.4.9 Link控件921 25.4.10 List控件922 25.4.11 ObjectList控件925 25.4.12 SelectionList控件926 25.5 使用验证控件930 25.6 在移动Web窗体之间导航932 25.7 移动Web用户控件932 25.8 使用模拟器936 25.9 设备过滤器936 25.10 ASP.NET移动应用程序    中的状态管理938 25.10.1 移动Web控件中    的ViewState939 25.10.2 管理会话状态940 25.10.3 隐藏字段940 25.11 小结942 第26章 建立和使用      XML Web服务943 26.1 不同系统之间的通信943 26.2 建立一个简单的    XML Web服务945 26.2.1 WebService页面指令946 26.2.2 查看Web服务的    基类文件946 26.2.3 把定制的数据集    显示为SOAP948 26.2.4 XML Web服务接口950 26.3 使用简单的XML Web服务953 26.3.1 添加Web引用953 26.3.2 在客户应用程序中    调用Web服务955 26.4 Web服务的传输协议957 26.4.1 HTTP-GET959 26.4.2 HTTP-POST961 26.4.3 SOAP962 26.5 WebMethod的重载962 26.6 高速缓存Web服务的响应965 26.7 SOAP标题966 26.7.1 用SOAP标题建立    Web服务967 26.7.2 通过SOAP标题    使用Web服务969 26.7.3 使用SOAP 1.2    请求Web服务971 26.8 异步使用Web服务973 26.9 小结976 第27章 配置977 27.1 配置概述977 27.1.1 服务器配置文件978 27.1.2 应用程序配置文件979 27.1.3 配置的应用979 27.1.4 检测配置文件的变化980 27.1.5 配置文件的格式980 27.2 公共配置设置981 27.2.1 连接字符串981 27.2.2 配置会话状态982 27.2.3 编译配置985 27.2.4 浏览器的功能987 27.2.5 定制错误989 27.2.6 身份验证990 27.2.7 匿名身份992 27.2.8 授权993 27.2.9 锁定配置设置995 27.2.10 ASP.NET页面配置995 27.2.11 include文件997 27.2.12 配置ASP.NET     运行时设置997 27.2.13 配置ASP.NET     工作进程1001 27.2.14 存储与应用程序     相关的设置1003 27.2.15 配置文件的编程1004 27.2.16 保护配置设置1011 27.2.17 编辑配置文件1011 27.3 小结1012 第28章 管理1013 28.1 Web站点管理工具1013 28.1.1 Home选项卡1014 28.1.2 Security选项卡1015 28.1.3 Application选项卡1024 28.1.4 Provider选项卡1026 28.2 MMC ASP.NET插件1028 28.2.1 General选项卡1029 28.2.2 Custom Errors选项卡1031 28.2.3 Authorization选项卡1031 28.2.4 Authentication选项卡1033 28.2.5 Application选项卡1034 28.2.6 State Management    选项卡1035 28.2.7 Locations选项卡1036 28.3 小结1036 第29章 打包和部署ASP.NET    应用程序1037 29.1 部署各个部分1037 29.2 部署之前的准备1038 29.3 部署Web应用程序的方法1038 29.3.1 使用XCopy1039 29.3.2 使用VS Copy    Web Site选项1041 29.3.3 部署预编译的    Web应用程序1044 29.3.4 建立安装程序1046 29.4 安装程序的选项1053 29.4.1 使用部署项目的属性1053 29.4.2 File System编辑器1056 29.4.3 Registry编辑器1059 29.4.4 File Types编辑器1061 29.4.5 User Interface编辑器1061 29.4.6 Custom Actions编辑器1063 29.4.7 Launch Conditions    编辑器1064 29.5 小结1065 附录A Visual Basic 8.0和 C# 2.0语言的改进1067 A.1 概述1067 A.2 泛型1068 A.2.1 泛型集合1068 A.2.2 泛型方法1072 A.3 迭代器1074 A.4 匿名方法1075 A.5 运算符重载1077 A.6 全局命名空间限定符1077 A.7 部分类1078 A.8 Visual Basic XML文档1080 A.9 静态类1081 A.10 属性访问器1081 A.11 无符号类型1082 A.12 默认实例1083 A.13 Visual Basic的新关键字1083 A.13.1 Continue1083 A.13.2 Using1085 A.13.3 My1085 A.13.4 IsNot1086 A.13.5 TryCast1087 附录B ASP.NET在线资源1089 B.1 作者的Blog1089 B.2 ASP.NET有影响的Blog1089 B.3 Web站点1089    RegisterStartupScript101 4.4.3 使用Page.ClientScript.    RegisterClient    ScriptInclude103 4.5 客户端回调103 4.5.1 比较典型的回送和回调104 4.5.2 使用回调功能:    一种简单的方法105 4.5.3 使用带参数的回调功能110 4.6 小结113 第5章 ASP.NET Web服务器控件115 5.1 Web服务器控件概述115 5.2 Label服务器控件116 5.3 Literal服务器控件118 5.4 TextBox服务器控件119 5.4.1 使用Focus()方法120 5.4.2 使用AutoPostBack120 5.4.3 使用AutoCompleteType122 5.5 Button服务器控件122 5.5.1 CausesValidation属性123 5.5.2 CommandName属性123 5.5.3 使用客户端JavaScript    的按钮124 5.6 LinkButton服务器控件126 5.7 ImageButton服务器控件126 5.8 HyperLink服务器控件128 5.9 DropDownList服务器控件128 5.10 从集合中可视化地 删除条目131 5.11 ListBox服务器控件132  5.11.1 允许用户选择多项133  5.11.2 使用ListBox控件的例子133  5.11.3 给集合添加条目136 5.12 CheckBox服务器控件136  5.12.1 确定复选框是否被选中138  5.12.2 给复选框赋值138  5.12.3 排列复选框的文本138 5.13 CheckBoxList服务器控件139 5.14 RadioButton服务器控件141 5.15 RadioButtonList服务器控件143 5.16 Image服务器控件145 5.17 Table服务器控件146 5.18 Calendar服务器控件148 5.18.1 从Calendar控件中     选择一个日期149 5.18.2 从日历中选择要     输出的日期格式150 5.18.3 选择日期、星期或月份150 5.18.4 使用日期范围151 5.18.5 修改日历的样式     和操作方式153 5.19 AdRotator服务器控件156 5.20 Xml服务器控件158 5.21 Panel服务器控件158 5.22 PlaceHolder服务器控件160 5.23 小结161 第6章 ASP.NET 2.0的Web     服务器控件163 6.1 BulletedList服务器控件163 6.2 HiddenField服务器控件168 6.3 FileUpload服务器控件170 6.3.1 使用FileUpload控件    上传文件170 6.3.2 指定正确的ASP.NET    权限给上传文件172 6.3.3 理解文件大小的限制173 6.3.4 把上传的文件放在    Stream对象中174 6.3.5 把文件内容从Stream    对象移动到Byte数组中175 6.4 MultiView和   View服务器控件175 6.5 Wizard服务器控件179 6.5.1 定制边栏导航181 6.5.2 AllowReturn属性182 6.5.3 使用StepType属性182 6.5.4 给Wizard控件添加标题183 6.5.5 使用向导的导航系统183 6.5.6 使用Wizard控件的事件184 6.5.7 使用Wizard控件显示    窗体元素186 6.6 ImageMap服务器控件189 6.7 小结191 第7章 验证服务器控件193 7.1 有效性验证193 7.2 客户端和服务器端的验证194 7.3 ASP.NET验证服务器控件195 7.3.1 验证原因196 7.3.2 RequiredFieldValidator    服务器控件196 7.3.3 CompareValidator    服务器控件201 7.3.4 RangeValidator    服务器控件204 7.3.5 RegularExpression    Validator服务器控件208 7.3.6 CustomValidator    服务器控件209 7.3.7 ValidationSummary    服务器控件214 7.4 关闭客户端验证功能217 7.5 为错误通知使用图像和声音218 7.6 使用验证组219 7.7 小结223 第8章 使用Master页面225 8.1 需要Master页面的原因225 8.2 Master页面基础227 8.3 编写Master页面228 8.4 编写内容页面231 8.4.1 混合页面类型和语言234 8.4.2 指定要使用的Master    页面235 8.4.3 使用页面标题236 8.4.4 使用Master页面中的    控件和属性237 8.5 在Master页面中   指定默认内容244 8.6 编程指定Master页面246 8.7 Master页面的嵌套246 8.8 容器特定的Master页面249 8.9 事件的触发顺序251 8.10 高速缓存Master页面251 8.11 小结252 第9章 主题和Skin253 9.1 使用ASP.NET 2.0中的主题253 9.1.1 给单个ASP.NET    页面应用主题253 9.1.2 把主题应用于    整个应用程序255 9.1.3 删除服务器控件中    的主题255 9.1.4 删除Web页面上    的主题特性256 9.1.5 StyleSheetTheme属性256 9.2 创建自己的主题257 9.2.1 创建正确的文件夹结构257 9.2.2 创建Skin258 9.2.3 在主题中包含CSS文件260 9.2.4 使主题包含图像263 9.3 定义多个Skin选项266 9.4 编程使用主题267 9.4.1 编程指定页面的主题267 9.4.2 编程指定控件的SkinID268 9.5 主题和定制控件268 9.6 小结271 第10章 集合和列表273 10.1 数组273  10.1.1 重新设置 数组的大小276  10.1.2 查找数组中的对象276  10.1.3 给数组中的 对象排序280 10.2 System.Collections 命名空间281  10.2.1 ArrayList281  10.2.2 IEnumerable和     IEnumerator284  10.2.3 ICollection285  10.2.4 Lists和IList286  10.2.5 字典和IDictionary287  10.2.6 散列表288  10.2.7 SortedList292  10.2.8 Queue和Stack292 10.3 专用集合295  10.3.1 HybridDictionary和      ListDictionary295  10.3.2 StringCollection、      StringDictionary和      NameValueCollection295  10.3.3 BitArray295 10.4 Microsoft.VisualBasic.    Collection类296 10.5 强类型化的集合296 10.6 System.Collections.Generics299  10.6.1 泛型的定义299  10.6.2 泛型列表300  10.6.3 泛型字典302  10.6.4 其他泛型集合303 10.7 集合从.NET 1.1到.NET 2.0 的变化303 10.8 集合和列表总结303 10.9 小结306 第11章 ASP.NET 2.0中的数据绑定307 11.1 数据源控件307  11.1.1 SqlDataSource控件310  11.1.2 XmlDataSource控件316  11.1.3 ObjectDataSource      控件316  11.1.4 SiteMapDataSource      控件320 11.2 配置数据源控件的高速缓存321 11.3 存储连接信息321 11.4 使用绑定的列表控件和 数据源控件324  11.4.1 GridView325  11.4.2 编辑GridView      中的数据行333  11.4.3 删除GridView数据337  11.4.4 DetailsView339  11.4.5 使用DetailsView      插入、更新和删除数据345  11.4.6 FormView控件347 11.5 其他数据绑定控件351  11.5.1 DropDownList、      ListBox、      RadioButtonList      和CheckBoxList351  11.5.2 TreeView控件352  11.5.3 Ad Rotator控件352  11.5.4 Menu353 11.6 内置数据绑定语法353  11.6.1 DataBinder语法      的变化354  11.6.2 XML数据绑定器355 11.7 小结355 第12章 使用ADO.NET管理数据357 12.1 ADO.NET的基本功能357  12.1.1 ADO.NET的      基本命名空间和类357  12.1.2 使用Connection对象358  12.1.3 使用Command对象359  12.1.4 使用DataReader对象360  12.1.5 使用数据适配器362  12.1.6 使用参数365  12.1.7 DataSet和DataTable368 12.2 ADO.NET的新增功能371  12.2.1 从各种数据源中      批量加载数据372  12.2.2 批处理多个更新381  12.2.3 多个活动的      结果集(MARS)388  12.2.4 命令的异步执行394  12.2.5 异步连接415 12.3 小结416 第13章 使用XML417 13.1 XML基础417  13.1.1 XML InfoSet419  13.1.2 XSD/XML模式定义420  13.1.3 在Visual Studio .NET      2005中编辑XML和      XML模式422 13.2 XmlReader和XmlWriter425  13.2.1 使用模式和      XmlTextReader427  13.2.2 包含NameTable优化429  13.2.3 从XML中提取      .NET CLR类型431  13.2.4 ReadSubtree和      XmlSerialization433  13.2.5 用XmlWriter创建XML435  13.2.6 2.0版本中XmlReader      和XmlWriter的改进437 13.3 XmlDocument和 XPathDocument438  13.3.1 DOM的问题438  13.3.2 XPath、XPath      Document和      XmlDocument438 13.4 DataSet442  13.4.1 把DataSet保存到      XML中442  13.4.2 XmlDataDocument443 13.5 XmlDataSource控件445 13.6 XSLT449  13.6.1 XslCompiled      Transform450  13.6.2 XML Web      服务器控件452  13.6.3 XSLT调试454 13.7 数据库和XML454  13.7.1 FOR XML AUTO子句455  13.7.2 SQL Server Yukon      2005和XML数据类型459 13.8 小结459 第14章 站点导航461 14.1 基于XML的站点地图461 14.2 SiteMapPath 服务器控件463  14.2.1 PathSeparator属性465  14.2.2 PathDirection 属性467  14.2.3 ParentLevels      Displayed属性467  14.2.4 ShowToolTips属性468  14.2.5 SiteMapPath 控件      的子元素469 14.3 TreeView服务器控件469  14.3.1 标识TreeView控件      的内置样式471  14.3.2 TreeView控件      的各个部分472  14.3.3 在XML文件中      绑定TreeView控件472  14.3.4 在TreeView中      选择多个选项475  14.3.5 在TreeView控件中      指定定制的图标478  14.3.6 指定用于连接      节点的线条479  14.3.7 编程使用TreeView控件481 14.4 Menu服务器控件487  14.4.1 给Menu控件      应用不同的样式488  14.4.2 Menu事件493  14.4.3 把Menu控件绑定      到XML文件上493 14.5 SiteMap数据提供程序495  14.5.1 ShowStartingNode属性495  14.5.2 StartFromCurrent      Node属性496  14.5.3 StartingNodeOffset属性497  14.5.4 StartingNodeUrl      属性498 14.6 SiteMap API498 14.7 URL映射501 14.8 站点地图的本地化502  14.8.1 为本地化构建      Web.sitemap文件502  14.8.2 修改Web.config文件503  14.8.3 创建程序集资源      (.resx)文件504  14.8.4 测试结果505 14.9 小结506 第15章 个性化507 15.1 个性化模型507 15.2 创建个性化属性508  15.2.1 添加简单的个性化属性508  15.2.2 使用个性化属性509  15.2.3 添加一组个性化属性513  15.2.4 使用分组的个性化属性514  15.2.5 为个性化属性定义类型514  15.2.6 使用定制的类型515  15.2.7 提供默认值518  15.2.8 把个性化属性      指定为只读518 15.3 匿名个性化518  15.3.1 支持终端用户的      匿名身份519  15.3.2 使用匿名身份事件521  15.3.3 个性化属性的匿名选项522 15.4 编程访问个性化功能522  15.4.1 迁移匿名用户523  15.4.2 Profile的个性化524  15.4.3 确定是否继续自动保存525 15.5 个性化提供程序526  15.5.1 使用SQL Server      Express Edition526  15.5.2 使用Microsoft的      SQL Server527  15.5.3 使用多个提供程序534 15.6 小结534 第16章 成员和角色管理535 16.1 身份验证535 16.2 授权535 16.3 ASP.NET 2.0的身份验证536  16.3.1 为成员建立Web站点536  16.3.2 添加用户538  16.3.3 请求凭证549  16.3.4 处理验证用户553  16.3.5 在线显示用户数556  16.3.6 处理密码557 16.4 ASP.NET 2.0的授权561  16.4.1 使用LoginView      服务器控件561  16.4.2 为角色管理建立      Web站点563  16.4.3 添加和检索      应用程序角色566  16.4.4 删除角色568  16.4.5 给角色添加用户569  16.4.6 获取某个角色的      所有用户570  16.4.7 获取包含某个      用户的所有角色572  16.4.8 从角色中删除用户572  16.4.9 检查角色中的用户573  16.4.10 角色的高速      缓存方式574 16.5 使用Web站点管理工具575 16.6 Membership API的    公共方法576 16.7 Roles API的公共方法576 16.8 小结577 第17章 Portal Framework      和Web Part579 17.1 Web Part简介579 17.2 建立动态的模块化    Web站点581  17.2.1 WebPartManager控件581  17.2.2 使用区域进行布局582  17.2.3 WebPartZone控件585  17.2.4 允许用户改变      页面的模式587  17.2.5 修改区域598 17.3 使用Portal Framework    中的类604 17.4 创建定制的Web Part607 17.5 小结612 第18章 安全性613 18.1 身份验证和授权613 18.2 应用身份验证措施614

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值