27.1.3 图表控件的基本方法

27.1.3  图表控件的基本方法

设置MSChart控件对象获得焦点、移动控件、重绘控件等操作,可通过调用MSChart控件的一些方法来完成。MSChart控件的基本方法如表27-4所示。

表27-4  MSChart控件的基本方法

编号

方    法

功 能 简 述

1

Drag

用于MSChart控件对象的开始、

结束或取消拖动操作

2

EditCopy

以Windows图元文件格式将当前图表

的图片复制到剪贴板中;它同时将创

建图表使用的数据复制到剪贴板中

3

EditPaste

将剪贴板中的Windows图元文件图形

或由Tab键分隔的文本粘贴到图表的当前选定区域

4

GetSelectedPart

标识当前选定的图表元素

5

Layout

布置图表,强制重新计算自动数值

6

Move

用以移动MSChart控件对象

7

OLEDrag

引起部件初始化OLE拖放操作

8

Refresh

强制全部重绘一个窗体或控件

9

SelectPart

选择指定的图表区域

10

SetFocus

将焦点转移到MSChart控件对象上

11

ToDefaults

返回图表的初始设置值

12

TwipsToChartPart

使用X、Y坐标来标识图表的区域

13

ZOrder

将指定的MDIForm,Form或

控件放置在其图层的前端或后端


下面将介绍MSChart常用的方法。

1.复制图表

要将控件的图表复制到操作系统中的剪切板中,可以通过控件的EditCopy方法来完成。EditCopy方法用于以Windows图元文件格式将当前图表的图片复制到剪贴板中。它同时将创建图表使用的数据复制到剪贴板中。使用此方法,可将图表数据或图表图片本身粘贴到另一应用程序中。因为数据和图表图片都存储在剪贴板上,因此粘贴到新的应用程序中的内容取决于该应用程序的类型。例如,如果在代码中执行图表的EditCopy方法,然后切换到Excel工作表来选择"编辑"中的"粘贴"命令,则将把图表数据集复制到工作表中。如要将图表图片插入到工作表中,可在选定"编辑粘贴特殊"后选择"图片"类型。EditCopy的语法如下:

 
 
  1. Object.EditCopy 

EditCopy方法为一个无参方法。

2.粘贴图表

要将操作系统中剪切板中的图元文件和数据粘贴到控件中,可以通过控件的EditPaste方法来完成。EditPaste方法用于将剪贴板中的Windows图元文件图形或由Tab键分隔的文本粘贴到图表的当前选定区域。EditPaste方法的语法如下:

 
 
  1. Object.EditPaste 

图表可接受剪贴板中的几种类型的信息,这取决于调用EditPaste时选定的图表元素。如果选定了整个图表,则图表在剪贴板中寻找数据并试图使用这些新数据重新绘制图表。如果选定能够接受图片的项目,例如选定了条形图或图表背景,则图表在剪贴板上寻找图元文件。如果找到了图元文件,就使用该图元文件填充选定对象。

3.获得选定图标元素

要获得当前控件中所选择的图表元素,可以通过控件的GetSelectedPart方法来设置。GetSelectedPart方法用于标识当前选定的图表元素。GetSelectedPart方法的语法如下:

 
 
  1. Object.GetSelectedPart(Part,Index1,Index2,Index3,Index4) 

GetSelectedPart方法的语法说明:

Part:取值为一个整型表达式,其值用来指定图表元素。

Index1:取值为一个整型表达式,如果元素引用一个系列或一个数据点,则此参数指定引用的系列。系列编号时从1开始,根据它们对应的列在数据网格中从左到右显示的顺序依次编号。如果元素引用坐标轴或坐标轴标签,其常用取值如表27-5所示。

Index2:取值为一个整型表达式,如果元素引用数据点,则此参数指定系列中由Index1标识的数据点。

Index3:取值为一个整型表达式,如果元素引用坐标轴标签,则此参数引用标签级别。坐标轴标签级别从1开始、由坐标轴向外依次编号。如果元素不是坐标轴标签,则此参数无效。

Index4:取值为一个整型表达式,此时未使用该参数。

表27-5  Index1参数的取值

常  数

描 述

常 数

描 述

VtChAxisIdX

标识X坐标轴

VtChAxisIdY2

标识次要Y坐标轴

VtChAxisIdY

标识Y坐标轴

VtChAxisIdZ

标识Z坐标轴

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
内容简介   《ASP.NET 4高级程序设计(第4版)》是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的建议。书中还深入讲述了其他ASP.NET图书遗漏的高级主题,如自定义控件的创建、图像处理、加密等。此外,《ASP.NET 4高级程序设计(第4版)》专门提供了两章的内容来教你如何用Ajax 技术制作快速响应的页面,以及如何使用微软的ASP.NETAJAX平台。另外,还专门介绍了ASP.NET4 新增的功能,如MVC 和动态数据等。   《ASP.NET 4高级程序设计(第4版)》适合各层次的ASP.NET程序员阅读。 作者简介 作者:(美)麦克唐纳 目录 第一部分 核心概念 第1章 ASP.NET简介 2 1.1 ASP.NET的7大要点 2 1.1.1 要点1:ASP.NET是同.NETFramework集成在一起的 2 1.1.2 要点2:ASP.NET是编译执行的,而不是解释执行的 3 1.1.3 要点3:ASP.NET支持多语言 4 1.1.4 要点4:ASP.NET运行在公共语言运行库内 6 1.1.5 要点5:ASP.NET是面向对象的 7 1.1.6 要点6:ASP.NET支持所有的浏览器 8 1.1.7 要点7:ASP.NET易于部署和配置 8 1.2 ASP.NET的演变 9 1.2.1 ASP.NET1.0和ASP.NET1.1 9 1.2.2  ASP.NET2.0 9 1.2.3 ASP.NET3.5 10 1.2.4 ASP.NET4 12 1.2.5 Silverlight 14 1.3 总结 15 第2章 Visual Studio 16 2.1 Visual Studio 16 2.1.1 网站和Web项目 17 2.1.2 创建无项目文件的网站 18 2.1.3 设计网页 21 2.2 Visual StudioIDE 26 2.2.1 解决方案资源管理器 28 2.2.2 文档窗口 29 2.2.3 工具箱 29 2.2.4 错误列表和任务列表 30 2.2.5 服务器资源管理器 31 2.3 代码编辑器 32 2.3.1 添加程序集引用 33 2.3.2 智能感知和大纲显示 35 2.3.3 Visual Studio 2010改进 37 2.4 编码模型 42 2.4.1 代码隐藏文件如何与页面连接 44 2.4.2 控件标签如何与页面变量连接 44 2.4.3 事件如何与事件处理程序连接 46 2.5 Web项目 47 2.5.1 基于项目的开发 47 2.5.2 创建Web项目 48 2.5.3 迁移旧版Visual Studio创建的网站 49 2.6 Visual Studio调试 51 2.6.1 单步调试 52 2.6.2 变量监视 54 2.6.3 高级断点 55 2.7 WebDevelopment Helper 56 2.8 总结 57 第3章 Web窗体 58 3.1 页面处理 58 3.1.1 HTML表单 59 3.1.2 动态用户界面 60 3.1.3 ASP.NET事件模型 61 3.1.4 自动回送 62 3.1.5 视图状态 63 3.1.6 XHTML兼容性 66 3.1.7 客户端控件ID 71 3.2 Web窗体处理阶段 73 3.2.1 页面框架初始化 74 3.2.2 用户代码初始化 74 3.2.3 验证 74 3.2.4 事件处理 75 3.2.5 自动数据绑定 75 3.2.6 清除 76 3.2.7 页面流示例 76 3.3 作为控件容器的页面 78 3.3.1 显示控件树 78 3.3.2 页头 82 3.3.3 动态控件的创建 82 3.4 Page类 84 3.4.1 Session、Application和Cache 84 3.4.2 Request 85 3.4.3 Response 86 3.4.4 Server 88 3.4.5 User 90 3.4.6 Trace 91 3.4.7 访问其他类中的HTTP上下文 96 3.5 总结 96 第4章 服务器控件 97 4.1 服务器控件的类型 97 4.2 HTML服务器控件 99 4.2.1 HtmlControl类 100 4.2.2 HtmlContainerControl类 100 4.2.3 HtmlInputControl类 100 4.2.4 HTML服务器控件类 101 4.2.5 设置Style特性和其他属性 102 4.2.6 通过编程创建服务器控件 103 4.2.7 处理服务器端事件 104 4.3 Web控件 107 4.3.1 WebControl基类 107 4.3.2 基本的Web控件类 108 4.3.3 单位 109 4.3.4 枚举 110 4.3.5 颜色 110 4.3.6 字体 111 4.3.7 焦点 12 4.3.8 默认按钮 113 4.3.9 可滚动面板 114 4.3.10 处理Web控件事件 114 4.4 List控件 116 4.4.1 Selectable列表控件 117 4.4.2 BulletedList控件 120 4.5 输入验证控件 121 4.5.1 验证控件 121 4.5.2 验证流程 122 4.5.3 BaseValidator类 122 4.5.4 RequiredFieldValidator控件 124 4.5.5 RangeValidator控件 124 4.5.6 CompareValidator控件 125 4.5.7 RegularExpressionValidator控件 125 4.5.8 CustomValidator控件 127 4.5.9 ValidationSummary控件 128 4.5.10 通过编程使用验证器 129 4.5.11 验证组 130 4.6 富控件 132 4.6.1 AdRotator控件 132 4.6.2 Calendar控件 134 4.7 总结 136 第5章 ASP.NET应用程序 137 5.1 剖析ASP.NET应用程序 137 5.1.1 应用程序域 137 5.1.2 应用程序生命周期 138 5.1.3 应用程序更新 139 5.1.4 应用程序目录结构 139 5.2 global.asax应用程序文件 140 5.2.1 应用程序事件 141 5.2.2 演示应用程序事件 143 5.3 ASP.NET配置 144 5.3.1 machine.config文件 144 5.3.2 web.config文件 147 5.3.3 设置 150 5.3.4  150 5.3.5  150 5.3.6  152 5.3.7 通过编程读写配置节 152 5.3.8 网站管理工具(WAT) 155 5.3.9 扩展配置文件结构 156 5.3.10 加密配置节 159 5.4 .NET组件 161 5.4.1 创建组件 161 5.4.2 通过App_Code目录使用组件 162 5.4.3 通过Bin目录使用组件 163 5.5 扩展HTTP管道 165 5.5.1 HTTP处理程序 165 5.5.2 创建自定义的HTTP处理程序 167 5.5.3 配置自定义的HTTP处理程序 168 5.5.4 使用无须配置的HTTP处理程序 169 5.5.5 创建高级的HTTP处理程序 169 5.5.6 为非HTML内容创建HTTP处理程序 171 5.5.7 HTTP模块 173 5.5.8 创建自定义HTTP模块 174 5.6 总结 176 第6章 状态管理 177 6.1 ASP.NET状态管理 177 6.2 视图状态 179 6.2.1 视图状态示例 180 6.2.2 在视图状态中保存对象 181 6.2.3 视图状态评估 183 6.2.4 有选择地禁用视图状态 184 6.2.5 视图状态安全 185 6.3 在页面间传送信息 186 6.3.1 查询字符串 187 6.3.2 跨页回发 188 6.4 cookie 193 6.5 会话状态 194 6.5.1 会话架构 194 6.5.2 使用会话状态 196 6.5.3 配置会话状态 197 6.5.4 会话状态安全 202 6.6 应用程序状态 203 6.7 总结 206 第二部分 数据访问 第7章 基础 208 7.1 ADO.NET架构 209 7.1.1 ADO.NET数据提供程序 209 7.1.2 ADO.NET的标准化 210 7.1.3 基本ADO.NET类 211 7.2 Connection类 212 7.2.1 连接字符串 212 7.2.2 测试连接 214 7.2.3 连接池 215 7.3 Command类和DataReader类 217 7.3.1 Command基础 217 7.3.2 DataReader类 218 7.3.3  ExecuteReader()方法和DataReader 218 7.3.4 ExecuteScalar()方法 223 7.3.5 ExecuteNonQuery()方法 223 7.3.6 SQL注入攻击 224 7.3.7 使用参数化命令 226 7.3.8 调用存储过程 227 7.4 事务 229 7.4.1 事务和ASP.NET应用程序 230 7.4.2 隔离级别 234 7.4.3 保存点 235 7.5 提供程序无关的代码 235 7.5.1 创建工厂 236 7.5.2 用工厂创建对象 237 7.5.3 使用提供程序无关的代码的查询 237 7.6 总结 239 第8章 数据组件和DataSet 240 8.1 构建数据访问组件 240 8.1.1 数据包 241 8.1.2 存储过程 242 8.1.3 数据应用类 243 8.1.4 测试数据库组件 248 8.2 非连接的数据 249 8.2.1 Web应用程序和DataSet 250 8.2.2 XML集成 251 8.3 DataSet类 251 8.4  DataAdapter类 252 8.4.1 填充DataSet 253 8.4.2 使用多个表和关系 254 8.4.3 查找特定行 257 8.4.4 在数据访问类里使用DataSet 257 8.4.5 数据绑定 258 8.5 DataView类 259 8.5.1 使用DataView排序 259 8.5.2 使用DataView过滤 261 8.5.3 使用关系的高级过滤 262 8.5.4 计算列 263 8.6 总结 264 第9章 数据绑定 265 9.1 基本的数据绑定 265 9.1.1 单值绑定 266 9.1.2 其他类型的表达式 268 9.1.3 重复值绑定 271 9.2 数据源控件 277 9.3 SqlDataSource 278 9.3.1 选择记录 279 9.3.2 参数化命令 281 9.3.3 错误处理 285 9.3.4 更新记录 286 9.3.5 删除记录 289 9.3.6 插入记录 289 9.3.7 SqlDataSource的不足 290 9.4 ObjectDataSource 291 9.4.1 选择记录 291 9.4.2 更新记录 295 9.4.3 使用数据对象执行更新 296 9.5 数据源控件的限制 299 9.5.1 问题 299 9.5.2 添加其他项 300 9.5.3 使用SqlDataSource处理其他选项 301 9.5.4 使用ObjectDataSource处理其他选项 301 9.6 总结 302 第10章 富数据控件 303 10.1 GridView 303 10.2 格式化GridView 307 10.2.1 格式化字段 307 10.2.2 样式 308 10.2.3 格式化特定值 311 10.3 GridView行选择 313 10.3.1 使用选择来创建主-从表单 314 10.3.2 SelectedIndexChanged事件 315 10.3.3 将数据字段用作选择按钮 315 10.4 对GridView排序 316 10.4.1 使用SqlDataSource排序 317 10.4.2 使用ObjectDataSource排序 318 10.4.3 排序和选择 319 10.4.4 高级排序 319 10.5 GridView分页 320 10.5.1 自动分页 320 10.5.2 分页和选择 322 10.5.3 ObjectDataSource的自定义分页 322 10.5.4 定制分页栏 324 10.6 GridView模板 325 10.6.1 使用多个模板 327 10.6.2 在Visual Studio中编辑模板 328 10.6.3 绑定到方法 328 10.6.4 处理模板中的事件 330 10.6.5 使用模板编辑 330 10.6.6 模板中的客户端ID 335 10.7 ListView 336 10.7.1 分组 338 10.7.2 分页 340 10.8 DetailsView和FormView 341 10.8.1 DetailsView 341 10.8.2 FormView 344 10.9 高级网格 345 10.9.1 GridView中的汇总 345 10.9.2 单个表中的父/子视图 347 10.9.3 使用查找表编辑字段 349 10.9.4 处理来自数据库的图片 351 10.9.5 探测并发冲突 355 10.10 总结 359 第11章 缓存和异步页面 360 11.1 理解ASP.NET缓存 360 11.2 输出缓存 361 11.2.1 声明性的输出缓存 361 11.2.2 缓存和查询字符串 362 11.2.3 使用特定查询字符串参数的缓存 363 11.2.4 自定义缓存控制 364 11.2.5 使用HttpCachePolicy类进行缓存 365 11.2.6 缓存后替换和部分页缓存 365 11.2.7 缓存用户配置 367 11.2.8 缓存配置 368 11.2.9 输出缓存扩展 369 11.3 数据缓存 373 11.3.1 向缓存添加项目 373 11.3.2 简单的缓存测试 375 11.3.3 缓存优先级 376 11.3.4 使用数据源控件的缓存 376 11.4 缓存依赖 379 11.4.1 文件和缓存项目依赖 379 11.4.2 聚合依赖 380 11.4.3 移除项目回调 381 11.4.4 理解SQL缓存通知 383 11.4.5 缓存通知的工作方式 384 11.4.6 启用通知 384 11.4.7 创建缓存依赖 385 11.5 自定义缓存依赖 386 11.5.1 基本的自定义缓存依赖 386 11.5.2 使用消息队列的自定义缓存依赖 387 11.6 异步页面 389 11.6.1 创建异步页面 390 11.6.2 在异步页面中查询数据 392 11.6.3 错误处理 393 11.6.4 在异步任务中使用缓存 395 11.6.5 多异步任务和超时 397 11.7 总结 399 第12章 文件和流 400 12.1 使用文件系统 400 12.1.1 Directory类和File类 400 12.1.2 DirectoryInfo类和FileInfo类 402 12.1.3 DriveInfo类 404 12.1.4 使用Attributes 405 12.1.5 使用通配符过滤文件 407 12.1.6 获取文件的版本信息 407 12.1.7 Path类 408 12.1.8 文件浏览器 410 12.2 使用流读写文件 414 12.2.1 文本文件 415 12.2.2 二进制文件 416 12.2.3 上传文件 417 12.2.4 使文件对多用户安全 419 12.2.5 压缩 423 12.3 序列化 423 12.4 总结 426 第13章 LINQ 427 13.1 LINQ基础 427 13.1.1 延迟执行 429 13.1.2 LINQ是如何工作的 429 13.1.3 LINQ表达式 430 13.1.4 揭秘LINQ表达式 436 13.2 LINQ to DataSet 439 13.2.1 强类型的DataSet 441 13.2.2 空值 441 13.3 LINQ to Entities 441 13.3.1 生成数据模型 442 13.3.2 数据模型类 442 13.3.3 实体关系 444 13.3.4 查询存储过程 446 13.3.5 LINQ to Entities查询揭秘 447 13.4 数据库操作 452 13.4.1 插入 452 13.4.2 更新 454 13.4.3 删除 454 13.4.4 管理并发 455 13.4.5 处理并发冲突 455 13.5 EntityDataSource控件 459 13.5.1 显示数据 459 13.5.2 获取关联数据 463 13.5.3 编辑数据 464 13.5.4 验证 464 13.6 使用QueryExtender控件 465 13.6.1 使用SearchExperssion 466 13.6.2 使用RangeExpression 467 13.6.3 使用PropertyExpression 467 13.6.4 使用MethodExpression 468 13.7 总结 468 第14章 XML 470 14.1 什么时候使用XML 470 14.2 XML简介 471 14.2.1 XML的优点 472 14.2.2 格式良好的XML 472 14.2.3 XML命名空间 473 14.2.4 XML架构 474 14.3 基于流的XML处理 475 14.3.1 写XML文件 476 14.3.2 读取XML文件 478 14.4 内存中的XML处理 481 14.4.1 XmlDocument 482 14.4.2 XPathNavigator 485 14.4.3 XDocument 486 14.5 搜索XML内容 491 14.5.1 搜索XmlDocument 491 14.5.2 使用XPath搜索XmlDocument 493 14.5.3 使用LINQ搜索XDocument 494 14.6 验证XML内容 496 14.6.1 基本架构 496 14.6.2 验证XmlDocument 497 14.6.3 使用XDocument进行验证 498 14.7 转换XML内容 499 14.7.1 基本的样式表 499 14.7.2 使用XslCompiledTransform 500 14.7.3 使用Xml控件 501 14.7.4 使用LINQ to XML转换XML 502 14.8 XML数据绑定 504 14.8.1 非层次化绑定 504 14.8.2 使用XPath 506 14.8.3 嵌套的网格 508 14.8.4 使用TreeView的层次化绑定 509 14.8.5 使用XSLT 511 14.8.6 绑定到来自其他源的XML内容 512 14.8.7 通过XmlDataSource更新XML 513 14.9 XML和ADO.NET数据集 513 14.9.1 把DataSet转换为XML 514 14.9.2 把DataSet作为XML访问 515 14.10 总结 517 第三部分 构建ASP.NET网站 第15章 用户控件 520 15.1 用户控件基础 520 15.1.1 创建简单的用户控件 521 15.1.2 把页面转换成用户控件 522 15.2 为用户控件添加代码 523 15.2.1 处理事件 523 15.2.2 添加属性 524 15.2.3 使用自定义对象 525 15.2.4 添加事件 528 15.2.5 公开内部Web控件 530 15.3 动态加载用户控件 531 15.4 局部页面缓存 534 15.4.1 VaryByControl 535 15.4.2 共享缓存控件 536 15.5 总结 537 第16章 主题和母版页 538 16.1 层叠样式表 538 16.1.1 创建样式表 538 16.1.2 应用样式表规则 540 16.2 主题 542 16.2.1 主题文件夹和外观 543 16.2.2 应用简单主题 544 16.2.3 处理主题冲突 545 16.2.4 为同一控件创建多个外观 546 16.2.5 含有模板和图片的外观 547 16.2.6 在主题里使用CSS 549 16.2.7 通过配置文件来应用主题 549 16.2.8 动态应用主题 550 16.3 标准化网站布局 551 16.4 母版页基础 552 16.4.1 简单的母版页 552 16.4.2 简单的内容页 554 16.4.3 默认内容 556 16.4.4 具有表格和CSS布局的母版页 556 16.4.5 母版页和相对路径 559 16.4.6 通过配置文件应用母版页 559 16.5 高级母版页 560 16.5.1 和母版页类交互 560 16.5.2 动态设置母版页 561 16.5.3 嵌套母版页 561 16.6 总结 563 第17章 网站导航 564 17.1 多视图页面 564 17.1.1 MultiView控件 565 17.1.2 Wizard控件 568 17.2 站点地图 575 17.2.1 定义站点地图 576 17.2.2 绑定站点地图 577 17.2.3 导航路径 578 17.2.4 显示站点地图的一部分 580 17.2.5 站点地图对象 583 17.2.6 加入自定义站点地图信息 584 17.2.7 创建自定义的SiteMapProvider 584 17.2.8 安全调整 590 17.3 URL映射和路由 592 17.3.1 URL映射 592 17.3.2 URL路由 593 17.4 TreeView控件 594 17.4.1 TreeNode 595 17.4.2 按需填充节点 597 17.4.3 TreeView样式 598 17.5 Menu控件 601 17.5.1 Menu样式 603 17.5.2 Menu模板 605 17.6 总结 606 第18章 网站部署 607 18.1 安装和配置IIS 607 18.1.1 安装IIS 7 607 18.1.2 管理IIS 7 608 18.2 部署网站 610 18.2.1 通过复制文件进行部署 611 18.2.2 使用Web部署 614 18.2.3 通过FTP部署 621 18.3 管理网站 626 18.3.1 创建新站点 626 18.3.2 创建虚拟目录 627 18.3.3 使用VirtualPathProvider 628 18.3.4 使用应用程序池 631 18.3.5 使用应用程序预热 633 18.4 扩展集成管道 634 18.4.1 创建处理程序 634 18.4.2 部署处理程序 635 18.4.3 配置处理程序 635 18.4.4 测试处理程序 636 18.5 总结 636 第四部分 安全 第19章 ASP.NET安全模型 638 19.1 为何创建安全软件 638 19.1.1 理解潜在的威胁 638 19.1.2 安全编程原则 639 19.1.3 理解Gatekeeper 640 19.2 理解安全级别 641 19.2.1 验证 641 19.2.2 授权 642 19.2.3 机密性和完整性 643 19.2.4 互相协作 643 19.3 理解SSL 644 19.3.1 理解证书 645 19.3.2 理解SSL 645 19.3.3 在IIS 7.x中配置SSL 646 19.4 总结 649 第20章 表单验证 650 20.1 表单验证介绍 650 20.1.1 为什么使用表单验证 650 20.1.2 为什么不使用表单验证 652 20.1.3 为什么不自己实现cookie验证 653 20.1.4 表单验证类 654 20.2 实现表单验证 655 20.2.1 配置表单验证 655 20.2.2 禁止匿名用户访问 657 20.2.3 创建自定义登录页面 658 20.2.4 自定义凭证存储 662 20.2.5 表单验证中的持久化cookie 663 20.3 IIS 7.x和表单验证 665 20.4 总结 669 第21章 成员资格 670 21.1 介绍ASP.NET的成员资格API 670 21.2 使用成员资格API 672 21.2.1 配置表单验证 673 21.2.2 创建数据存储 674 21.2.3 配置连接字符串和成员资格提供程序 679 21.2.4 创建并验证用户 681 21.3 使用安全控件 683 21.3.1 Login控件 684 21.3.2 LoginStatus控件 693 21.3.3 LoginView控件 693 21.3.4 PasswordRecovery控件 694 21.3.5 ChangePassword控件 697 21.3.6 CreateUserWizard控件 698 21.4 在IIS 7.x里配置成员资格 702 21.4.1 配置提供程序和用户 702 21.4.2 在其他应用程序里使用成员资格API 703 21.5 使用Membership类 705 21.5.1 从存储中获得用户 706 21.5.2 更新存储中的用户 708 21.5.3 创建和删除用户 708 21.5.4 检验用户 709 21.6 总结 709 第22章 Windows验证 710 22.1 介绍Windows验证 710 22.1.1 为什么使用Windows验证 710 22.1.2 为什么不使用Windows验证 711 22.1.3 Windows验证机制 712 22.2 实现Windows验证 717 22.2.1 配置IIS 7.x 717 22.2.2 配置ASP.NET 718 22.2.3 IIS 7.x管道 719 22.2.4 禁止匿名用户访问 722 22.2.5 访问Windows用户信息 723 22.3 身份模拟 727 22.3.1 Windows中的身份模拟和委托 728 22.3.2 经过配置的身份模拟 729 22.3.3 可编程的身份模拟 729 22.4 总结 732 第23章 授权和角色 733 23.1 URL 授权 733 23.2 文件授权 738 23.3 在代码中检查授权 739 23.3.1 使用IsInRole()方法 739 23.3.2 使用PrincipalPermission类 740 23.4 为基于角色的授权使用角色API 742 23.4.1 和角色一起使用LoginView控件 747 23.4.2 通过编程访问角色 748 23.4.3 在Windows验证中使用角色API 750 23.5 IIS 7.x里的授权和角色 752 23.5.1 在IIS 7.x里使用ASP.NET角色授权 754 23.5.2 在IIS 7.x中管理ASP.NET角色 756 23.6 总结 757 第24章 用户配置 758 24.1 理解用户配置 758 24.1.1 用户配置的性能 758 24.1.2 用户配置如何存储数据 759 24.1.3 用户配置和验证 760 24.1.4 用户配置与自定义的数据组件 760 24.2 使用SqlProfileProvider 761 24.2.1 创建用户配置表 761 24.2.2 配置提供程序 763 24.2.3 定义用户配置属性 764 24.2.4 使用用户配置属性 764 24.2.5 用户配置序列化 766 24.2.6 用户配置组 767 24.2.7 用户配置和自定义的数据类型 768 24.2.8 用户配置API 771 24.2.9 匿名用户配置 773 24.3 自定义的用户配置提供程序 775 24.3.1 自定义的用户配置提供程序类 775 24.3.2 设计FactoredProfileProvider 777 24.3.3 通过编码实现FactoredProfileProvider 778 24.3.4 测试FactoredProfileProvider 781 24.4 总结 784 第25章 加密 785 25.1 加密数据:机密性问题 785 25.2 .NET加密命名空间 786 25.3 理解.NET加密类 789 25.3.1 对称加密算法 790 25.3.2 非对称加密 791 25.3.3 抽象加密类 791 25.3.4 ICryptoTransform接口 792 25.3.5 CryptoStream类 793 25.4 加密敏感数据 793 25.4.1 管理秘密信息 794 25.4.2 使用对称算法 795 25.4.3 使用非对称算法 799 25.4.4 加密数据库中的敏感数据 801 25.5 加密查询字符串 806 25.5.1 包装查询字符串 806 25.5.2 创建一个测试页面 808 25.6 总结 810 第26章 自定义成员资格提供程序 811 26.1 自定义提供程序的架构 811 26.2 创建自定义提供程序的基本步骤 812 26.2.1 自定义提供程序的总体设计 813 26.2.2 设计并实现自定义存储 813 26.2.3 实现提供程序类 820 26.2.4 使用自定义提供程序类 837 26.3 总结 840 第五部分 高级用户界面 第27章 自定义服务器控件 842 27.1 自定义服务器控件入门 842 27.1.1 创建简单的自定义控件 842 27.1.2 使用自定义控件 844 27.1.3 工具箱中的自定义控件 845 27.1.4 创建支持样式属性的Web控件 847 27.1.5 呈现过程 850 27.2 处理不同的浏览器 852 27.2.1 HtmlTextWriter 852 27.2.2 浏览器检测 852 27.2.3 浏览器属性 853 27.2.4 覆盖浏览器类型侦测 854 27.2.5 自适应呈现 855 27.3 控件状态和事件 856 27.3.1 视图状态 856 27.3.2 控件状态 858 27.3.3 回传数据和change事件 860 27.3.4 触发回传 862 27.4 扩展现有的Web控件 863 27.4.1 组合控件 864 27.4.2 派生控件 866 27.5 总结 869 第28章 图形、GDI+和图表 870 28.1 ImageMap控件 870 28.1.1 创建热点 871 28.1.2 处理热点单击 872 28.1.3 自定义热点 873 28.2 使用GDI+画图 875 28.2.1 简单绘制 875 28.2.2 图像格式和质量 877 28.2.3 Graphics类 878 28.2.4 使用GraphicsPath 880 28.2.5 画笔 881 28.2.6 画刷 883 28.3 在网页上嵌入动态图形 885 28.3.1 使用PNG格式 885 28.3.2 传递信息给动态图像 886 28.3.3 使用GDI+的自定义控件 888 28.4 使用Chart控件 892 28.4.1 创建基本图表 892 28.4.2 用数据填充图表 897 28.5 总结 904 第29章 JavaScript和Ajax技术 905 29.1 JavaScript本质 905 29.1.1 HTML DOM 906 29.1.2 客户端事件 906 29.1.3 脚本块 908 29.1.4 操纵HTML元素 910 29.1.5 调试JavaScript 910 29.2 基本的JavaScript示例 912 29.2.1 创建JavaScript页面处理器 912 29.2.2 使用JavaScript异步下载图片 915 29.2.3 呈现脚本块 919 29.3 脚本注入攻击 920 29.3.1 请求验证 921 29.3.2 禁用请求验证 922 29.3.3 扩展请求验证 923 29.4 带有JavaScript的自定义控件 925 29.4.1 弹出窗口 925 29.4.2 滚动按钮 928 29.5 框架 931 29.5.1 框架导航 932 29.5.2 内联框架 933 29.6 理解Ajax 934 29.6.1 XMLHttpRequest对象 935 29.6.2 Ajax示例 936 29.7 在客户端回调中使用Ajax 939 29.7.1 创建客户端回调 940 29.7.2 深入了解客户端回调 945 29.7.3 自定义控件里的客户端回调 946 29.8 总结 949 第30章 ASP.NETAJAX 950 30.1 介绍ASP.NETAJAX 950 30.1.1 客户端的ASP.NETAJAX:脚本库 951 30.1.2 服务器端的ASP.NETAJAX:ScriptManager 952 30.2 服务器回调 952 30.2.1 ASP.NETAJAX中的Web服务 953 30.2.2 在页面里放置Web方法 959 30.2.3 ASP.NETAJAX应用程序服务 960 30.3 ASP.NETAJAX服务器控件 966 30.3.1 使用UpdatePanel的局部呈现 966 30.3.2 使用Timer的定时刷新 973 30.3.3 使用UpdateProgress的耗时更新 974 30.3.4 管理浏览器历史 976 30.4 深入客户端库 979 30.4.1 理解客户端模型 980 30.4.2 JavaScript的面向对象编程 981 30.4.3 网页框架 987 30.5 控件扩展器 991 30.5.1 安装ASP.NETAJAX控件工具包 992 30.5.2 AutoCompleteExtender 993 30.5.3 ASP.NETAJAX控件工具包 996 30.6 总结 999 第31章 使用Web部件页面的门户网站 1000 31.1 典型门户页面 1000 31.2 基本Web部件页面 1002 31.2.1 创建页面设计 1002 31.2.2 WebPartManager和WebPartZone 1003 31.2.3 向页面添加Web部件 1004 31.2.4 定制页面 1008 31.3 创建Web部件 1010 31.3.1 简单的Web部件任务 1010 31.3.2 开发高级Web部件 1017 31.3.3 Web部件编辑器 1024 31.3.4 连接Web部件 1029 31.3.5 自定义动词和Web部件 1036 31.3.6 用户控件和高级Web部件 1037 31.3.7 动态上传Web部件 1040 31.3.8 对Web部件的授权 1044 31.3.9 个性化的最后任务 1045 31.4 总结 1046 第32章 MVC 1047 32.1 MVC和Web表单的选择 1047 32.2 创建基本的MVC应用程序 1047 32.2.1 创建模型 1048 32.2.2 创建控制器 1049 32.2.3 创建Index视图 1050 32.2.4 测试(未完成的)应用程序 1050 32.2.5 完成控制器和视图 1051 32.2.6 修改Site.Master文件 1053 32.3 扩展基础的MVC应用程序 1053 32.3.1 配置路由 1054 32.3.2 增加错误处理 1055 32.3.3 增加验证 1056 32.3.4 增强数据存储访问 1057 32.3.5 增加对外键约束的支持 1059 32.4 自定义视图 1059 32.4.1 修改视图 1060 32.4.2 增加视图数据 1062 32.5 强化模型 1063 32.6 验证数据 1066 32.6.1 执行基本的验证 1067 32.6.2 增加验证标注 1068 32.7 使用动作结果 1071 32.7.1 返回JSON数据 1072 32.7.2 调用其他控制器方法 1072 32.8 总结 1074 第33章 动态数据 1075 33.1 创建动态数据应用程序 1075 33.1.1 创建动态数据网站 1075 33.1.2 检验动态数据网站 1077 33.2 深入理解动态数据项目 1080 33.3 自定义动态数据网站 1080 33.3.1 使用模板进行自定义 1081 33.3.2 使用路由进行自定义 1087 33.3.3 使用元数据进行自定义 1094 33.3.4 自定义验证 1099 33.4 总结 1103 第34章 Silverlight 1104 34.1 理解Silverlight 1105 34.1.1 Silverlight与Flash对比 1106 34.1.2 Silverlight系统需求 1107 34.2 创建Silverlight解决方案 1108 34.2. 1 Silverlight编译 1109 34.2.2 入口页面 1110 34.3 创建Silverlight项目 1114 34.3.1 设计Silverlight页面 1114 34.3.2 理解XAML 1117 34.3.3 设置属性 1118 34.3.4 XAML 代码隐藏 1119 34.3.5 处理事件 1120 34.3.6 了解Silverlight类库 1121 34.4 布局 1122 34.4.1 Canvas 1123 34.4.2 网格 1127 34.5 动画 1131 34.5.1 动画基础知识 1132 34.5.2 定义动画 1132 34.5.3 StoryBoard类 1133 34.5.4 交互式动画实例 1135 34.5.5 变换 1138 34.6 Silverlight使用Web服务 1141 34.6.1 创建Web服务 1141 34.6.2 添加Web引用 1142 34.6.3 调用Web服务 1143 34.6.4 配置Web服务URL 1144 34.6.5 跨域Web服务调用 1144 34.7 总结 1146
第一部分 使用ASP.NET Web表单<br><br>第1章 建立ASP.NET页面 <br><br>1.1 ASP.NET和.NET框架 <br>1.1.1 .NET框架类库 <br>1.1.2 理解名称空间 <br>1.1.3 标准的ASP.NET名称空间 <br>1.1.4 与.NET框架兼容的语言 <br>1.2 ASP.NET控件简介 <br>1.2.1 简单的ASP.NET页面 <br>1.2.2 ASP.NET控件的优点 <br>1.2.3 ASP.NET控件概述 <br>1.3 向ASP.NET页面中添加应用逻辑 <br>1.3.1 处理控件事件 <br>1.3.2 处理页面事件 <br>1.4 ASP.NET页面的结构 <br>1.4.1 指令 <br>1.4.2 代码声明块 <br>1.4.3 ASP.NET控件 <br>1.4.4 代码显示块 <br>1.4.5 服务器端注释 <br>1.4.6 服务器端包含指令 <br>1.4.7 文本和HTML标记 <br>1.5 小结 <br><br>第2章 用Web服务器控件建立表单 <br><br>2.1 建立智能表单 <br>2.1.1 Label控件<br>2.1.2 TextBox控件 <br>2.1.3 Button控件 <br>2.1.4 RadioButton和RadioButtonList控件 <br>2.1.5 CheckBox和CheckBoxList控件 <br>2.1.6 DropDownList控件 <br>2.1.7 ListBox控件 <br>2.2 控制页面导航 <br>2.2.1 将表单提交到另一个页面 <br>2.2.2 使用Redirect( )方法 <br>2.2.3 使用HyperLink控件 <br>2.3 在控件上进行格式化 <br>2.3.1 基本Web控件属性 <br>2.3.2 在Web控件上应用样式 <br>2.4 小结 <br><br>第3章 用检验控件执行表单的检验 <br><br>3.1 使用客户端检验 <br>3.1.1 配置客户端检验 <br>3.1.2 启用和禁用客户端检验 <br>3.2 必填域:RequiredFieldValidator控件 <br>3.3 检验表达式:RegularExpressionValidator控件 <br>3.3.1 检验电子邮件地址 <br>3.3.2 检验用户名和口令 <br>3.3.3 检验电话号码 <br>3.3.4 检验网址 <br>3.3.5 检验条目长度 <br>3.3.6 检验邮政编码 <br>3.4 比较值:CompareValidator控件 <br>3.4.1 比较一个控件与另一个控件的值 <br>3.4.2 比较一个控件的值与固定值 <br>3.4.3 执行数据类型检查 <br>3.5 检查值的范围:RangeValidator控件 <br>3.6 错误汇总:ValidationSummary控件 <br>3.7 执行自定义的检验:CustomValidator控件 <br>3.8 禁用检验 <br>3.9 小结 <br><br>第4章 高级控件编程 <br><br>4.1 使用视图状态 <br>4.1.1 禁用视图状态 <br>4.1.2 将值添加到视图状态 <br>4.2 显示和隐藏内容 <br>4.2.1 使用Visible和Enabled属性 <br>4.2.2 使用Panel控件 <br>4.2.3 模拟多页面表单 <br>4.2.4 通过程序添加控件 <br>4.2.5 将控件添加到页面 <br>4.2.6 PlaceHolder控件 <br>4.2.7 动态产生表单 <br>4.2.8 动态产生列表条目 <br>4.3 使用复杂控件 <br>4.3.1 使用Calendar控件显示交互式的日历 <br>4.3.2 使用AdRotator控件显示广告条 <br>4.3.3 使用HTMLInputFile控件接受文件上传 <br>4.4 小结 <br><br>第二部分 高级ASP.NET页面开发<br><br>第5章 用用户控件创建自定义控件 <br><br>5.1 用用户控件包含标准内容 <br>5.2 显露用户控件中的属性和方法 <br>5.3 显露用户控件中的Web控件 <br>5.4 显露用户控件中的事件 <br>5.5 通过程序装载用户控件 <br>5.6 小结 <br><br>第6章 将代码与表示分离 <br><br>6.1 创建业务组件 <br>6.2 创建多层Web应用程序 <br>6.3 使用code-behind <br>6.3.1 code-behind是如何工作的 <br>6.3.2 编译code-behind文件 <br>6.3.3 从一个code-behind文件派生多个页面 <br>6.3.4 编译完整的ASP.NET页面 <br>6.4 小结 <br><br>第7章 用可移动控件为可移动设备服务 <br><br>7.1 使用可移动设备软件模拟器 <br>7.2 无线应用协议简介 <br>7.3 建立WML页面 <br>7.3.1 配置IIS <br>7.3.2 WML和XML <br>7.3.3 创建卡片集 <br>7.3.4 用WML链接文件 <br>7.4 使用ASP.NET可移动控件 <br>7.4.1 创建可移动表单 <br>7.4.2 动态激活可移动表单 <br>7.4.3 显示文本 <br>7.4.4 显示列表 <br>7.4.5 创建文本框 <br>7.4.6 检验用户输入 <br>7.4.7 显示图像 <br>7.4.8 进行电话呼叫 <br>7.4.9 用可移动控件显示广告 <br>7.4.10 使用可移动控件显示日历 <br>7.5 创建跨设备兼容的可移动页面 <br>7.5.1 探测设备功能 <br>7.5.2 使用DeviceSpecific选择设备 <br>7.5.3 使用表单模板集 <br>7.6 小结 <br><br>第8章 使用第三方控件 <br><br>8.1 使用Microsoft Internet Explorer WebControls <br>8.1.1 使用TreeView控件 <br>8.1.2 使用Toolbar控件 <br>8.1.3 使用TabStrip控件 <br>8.2 使用Superexpert控件 <br>8.2.1 使用Content Rotator控件 <br>8.2.2 使用SuperDataGrid控件 <br>8.2.3 使用DataForm控件 <br>8.3 小结 <br><br>第三部分 使用ADO.NET<br><br>第9章 ADO.NET简介 <br><br>9.1 ADO.NET概述 <br>9.2 执行常见的数据库任务 <br>9.2.1 打开数据库链接 <br>9.2.2 从数据库表获取记录 <br>9.2.3 在查询中使用参数 <br>9.2.4 向数据库添加记录 <br>9.2.5 更新数据库记录 <br>9.2.6 删除数据库记录 <br>9.3 改进数据库性能 <br>9.3.1 使用SQL存储过程 <br>9.3.2 获取返回值和输出参数 <br>9.3.3 执行复杂的存储过程 <br>9.3.4 用链接缓冲改进性能 <br>9.4 高级的数据库主题 <br>9.4.1 在事务中执行数据库命令 <br>9.4.2 指定命令行为 <br>9.4.3 获取表模式信息 <br>9.5 小结 <br><br>第10章 将数据绑定到Web控件 <br><br>10.1 数据绑定概述 <br>10.2 将服务器控件绑定到数据源 <br>10.2.1 绑定到Repeater控件 <br>10.2.2 使用模板 <br>10.2.3 视图状态和Repeater控件 <br>10.2.4 绑定到DropDownList控件 <br>10.2.5 绑定到RadioButtonList控件 <br>10.2.6 绑定到CheckBoxList控件 <br>10.2.7 绑定到ListBox控件 <br>10.2.8 绑定到其他控件 <br>10.3 创建主/明细表单 <br>10.3.1 创建单页面的主/明细表单 <br>10.3.2 创建多页面的主/明细表单 <br>10.4 小结 <br><br>第11章 使用DataList和DataGrid控件 <br><br>11.1 DataList和DataGrid控件概述 <br>11.1.1 理解事件冒泡机制 <br>11.1.2 使用模板 <br>11.1.3 使用DataKeys集合 <br>11.2 使用DataList控件 <br>11.2.1 在DataList中显示数据 <br>11.2.2 对DataList使用模板 <br>11.2.3 对DataList使用样式 <br>11.2.4 在DataList中创建多个列 <br>11.2.5 捕获DataList控件中引发的事件 <br>11.2.6 选择DataList中的条目 <br>11.2.7 通过DataList控件使用DataKeys集合 <br>11.2.8 用DataList控件创建主/明细表单 <br>11.2.9 编辑DataList控件中的条目 <br>11.3 使用DataGrid控件 <br>11.3.1 在DataGrid控件中创建列 <br>11.3.2 对DataGrid使用样式 <br>11.3.3 对DataGrid控件中的列进行排序 <br>11.3.4 对DataGrid中的记录进行分页 <br>11.3.5 选择DataGrid控件中的行 <br>11.3.6 编辑DataGrid控件中的条目 <br>11.3.7 使用模板编辑DataGrid控件中的条目 <br>11.4 小结 <br><br>第12章 操作DataSet <br><br>12.1 理解DataSet <br>12.1.1 DataSet的元素 <br>12.1.2 向DataSet添加DataTable <br>12.1.3 将控件绑定到DataSet <br>12.2 理解DataTable <br>12.2.1 通过程序创建DataTable <br>12.2.2 设置DataTable属性 <br>12.2.3 在DataTable中设置列属性 <br>12.2.4 在DataTable中计算列值 <br>12.2.5 在DataTable之间定义关系 <br>12.2.6 获取DataTable模式信息 <br>12.2.7 在DataTable中更新记录 <br>12.3 理解DataView <br>12.3.1 在DataView中对行进行过滤 <br>12.3.2 在DataView中对行进行排序 <br>12.3.3 在DataView中搜索行 <br>12.4 通过ASP.NET页面使用DataSet <br>12.4.1 缓存DataSet <br>12.4.2 显示缓存的数据 <br>12.4.3 过滤缓存的数据 <br>12.4.4 在缓存的DataSet中搜索行 <br>12.5 小结 <br><br>第13章 操作XML <br><br>13.1 XML类概述 <br>13.2 通过DataSet使用XML <br>13.2.1 将XML文档读入DataSet <br>13.2.2 通过ReadXml使用模式 <br>13.2.3 从DataSet写XML文档 <br>13.2.4 通过DataSet使用XMLData Documents <br>13.3 使用样式单转换XML <br>13.4 使用ASP.NET Xml控件 <br>13.5 使用XslTransform类 <br>13.6 使用强类型的DataSet <br>13.7 小结 <br><br>第14章 使用ADO.NET创建搜索页面 <br><br>14.1 使用SQL Server全文搜索 <br>14.1.1 配置Full-Text Search Service <br>14.1.2 对数据库数据执行任意文本查询 <br>14.1.3 对数据库数据执行布尔查询 <br>14.1.4 上传二进制文档并且进行索引 <br>14.2 使用Microsoft Indexing Service <br>14.2.1 配置Microsoft Indexing Service <br>14.2.2 将SQL Server配置为使用Microsoft Indexing Service <br>14.2.3 获取文档属性 <br>14.2.4 对文件系统数据执行任意文本查询 <br>14.2.5 对文件系统数据执行布尔查询 <br>14.2.6 对文档属性执行查询 <br>14.3 小结 <br><br>第四部分 使用ASP.NET应用程序<br><br>第15章 创建ASP.NET应用程序 <br><br>15.1 ASP.NET应用程序概述 <br>15.2 使用应用程序状态 <br>15.2.1 理解应用程序状态和同步 <br>15.2.2 使用Global.asax文件 <br>15.2.3 理解Context和使用Global.asax文件 <br>15.2.4 处理应用程序Start和Init事件 <br>15.2.5 处理Application_BeginRequest事件 <br>15.3 使用Web.Config文件 <br>15.3.1 研究配置部分 <br>15.3.2 修改配置设置 <br>15.3.3 设置配置位置 <br>15.3.4 锁定配置设置 <br>15.3.5 添加自定义的配置信息 <br>15.4 使用HTTP处理器和模块 <br>15.4.1 使用HTTP处理器 <br>15.4.2 使用HTTP模块 <br>15.4.3 创建WhosOn应用程序 <br>15.5 小结 <br><br>第16章 跟踪用户会话 <br><br>16.1 使用浏览器cookie <br>16.1.1 cookie如何工作 <br>16.1.2 创建和读取会话cookie <br>16.1.3 创建和读取持久性cookie <br>16.1.4 设置cookie属性 <br>16.1.5 cookie的限制 <br>16.2 使用会话状态 <br>16.2.1 向会话状态中添加条目 <br>16.2.2 从会话状态中删除条目 <br>16.2.3 启动用户会话 <br>16.2.4 结束用户会话 <br>16.2.5 处理会话事件 <br>16.2.6 在进程内存储会话状态 <br>16.2.7 在Windows服务中存储会话状态 <br>16.2.8 在数据库表中存储会话状态 <br>16.2.9 禁止会话状态 <br>16.3 使用无cookie会话 <br>16.3.1 启用无cookie会话 <br>16.3.2 无cookie会话的限制 <br>16.4 小结 <br><br>第17章 缓存ASP.NET应用程序 <br><br>17.1 使用页面输出缓存 <br>17.1.1 按参数改变缓存内容 <br>17.1.2 按头改变缓存内容 <br>17.1.3 按自定义的字符串改变缓存内容 <br>17.1.4 设置缓存位置 <br>17.1.5 使用HttpCachePolicy类 <br>17.2 使用页面分段缓存 <br>17.2.1 按参数改变页面分段缓存 <br>17.2.2 页面分段缓存的限制 <br>17.3 使用页面数据缓存 <br>17.3.1 在缓存中添加条目 <br>17.3.2 添加缓存文件依赖性 <br>17.3.3 添加缓存触发器依赖性 <br>17.3.4 添加缓存键依赖性 <br>17.3.5 建立绝对的过期策略 <br>17.3.6 建立变化的过期策略 <br>17.3.7 设置缓存条目优先级 <br>17.3.8 创建缓存回调方法 <br>17.4 小结 <br><br>第18章 应用程序跟踪和错误处理 <br><br>18.1 响应错误 <br>18.1.1 查看错误信息 <br>18.1.2 页面级错误处理 <br>18.1.3 应用程序级错误处理 <br>18.2 跟踪和监视应用程序 <br>18.2.1 跟踪页面的执行 <br>18.2.2 监视ASP.NET进程 <br>18.2.3 获取进程信息 <br>18.3 记录事件 <br>18.4 使用调试器 <br>18.4.1 连接调试器 <br>18.4.2 建立断点 <br>18.4.3 建立观察 <br>18.4.4 逐步执行ASP.NET页面 <br>18.5 小结 <br><br>第五部分 保护ASP.NET应用程序<br><br>第19章 使用基于表单的身份验证 <br><br>19.1 使用表单身份验证 <br>19.1.1 启用表单身份验证 <br>19.1.2 配置表单身份验证 <br>19.1.3 配置表单授权 <br>19.1.4 获取用户信息 <br>19.1.5 创建注销页面 <br>19.1.6 用Web.Config文件进行用户身份验证 <br>19.1.7 用XML文件进行用户身份验证 <br>19.1.8 用数据库表进行用户身份验证 <br>19.1.9 实现基于角色的身份验证 <br>19.1.10 创建自定义的身份验证票据 <br>19.1.11 表单身份验证和Web阵 <br>19.2 使用Passport身份验证 <br>19.2.1 启用Passport身份验证 <br>19.2.2 允许用户登录和注销 <br>19.2.3 获取用户信息 <br>19.3 小结 <br><br>第20章 基于Windows的身份验证 <br><br>20.1 使用基于Windows的身份验证 <br>20.1.1 配置Internet Information Server安全 <br>20.1.2 配置Microsoft Windows安全 <br>20.1.3 配置Windows身份验证 <br>20.1.4 配置Windows授权 <br>20.1.5 配置自定义角色 <br>20.1.6 获取用户信息 <br>20.2 模拟用户账号 <br>20.3 设置安全策略 <br>20.4 小结 <br><br>第21章 加密网上发送的数据 <br><br>21.1 使用Secure Sockets Layer <br>21.1.1 加密 <br>21.1.2 身份验证 <br>21.1.3 数据完整性 <br>21.1.4 SSL有多安全 <br>21.2 将服务器配置为使用SSL <br>21.2.1 产生证书请求文件 <br>21.2.2 申请服务器证书 <br>21.2.3 安装服务器证书 <br>21.3 在ASP.NET页面中使用SSL <br>21.4 使用.NET加密类 <br>21.4.1 使用散列算法 <br>21.4.2 使用对称加密算法 <br>21.4.3 使用不对称加密 <br>21.5 小结 <br><br>第六部分 建立ASP.NET Web服务<br><br>第22章 创建XML Web服务 <br><br>22.1 XML Web服务概述 <br>22.1.1 XML Web服务促进通信 <br>22.1.2 XML Web服务允许聚集 <br>22.2 创建简单的XML Web服务 <br>22.2.1 设置WebMethod属性 <br>22.2.2 设置WebService属性 <br>22.2.3 预编译XML Web服务 <br>22.3 从浏览器测试XML Web服务 <br>22.3.1 用HTTP-Get调用XML Web服务 <br>22.3.2 用HTTP-Post调用XML Web服务 <br>22.3.3 用SOAP调用XML Web服务 <br>22.4 通过代理类访问XML Web服务 <br>22.4.1 产生XML Web服务代理类 <br>22.4.2 使用XML Web服务代理类 <br>22.4.3 使用Web服务描述语言工具 <br>22.4.4 设置代理类属性 <br>22.5 在XML Web服务中传送复杂数据 <br>22.5.1 XML Web服务和数组 <br>22.5.2 XML Web服务和类 <br>22.5.3 Web服务和DataSet <br>22.5.4 Web服务和二进制文件 <br>22.6 XML Web服务和网站的交互 <br>22.6.1 XML Web服务和应用程序状态 <br>22.6.2 XML Web服务和会话状态 <br>22.7 小结<br><br>第23章 高级的XML Web服务 <br><br>23.1 使用WebService行为 <br>23.1.1 WebService行为的限制 <br>23.1.2 用WebService行为创建简单的页面 <br>23.1.3 使用WebService行为回调函数 <br>23.1.4 缓存WebService行为中的错误 <br>23.1.5 使用WebService行为执行部分更新 <br>23.1.6 使用WebService行为获取数据库数据 <br>23.2 保护XML Web服务 <br>23.2.1 安全的XML Web服务 <br>23.2.2 创建数据库表 <br>23.2.3 创建Login( )方法 <br>23.2.4 获取自定义的SOAP头 <br>23.2.5 验证会话键 <br>23.2.6 缓存会话键 <br>23.2.7 建立安全的XML Web服务 <br>23.2.8 访问安全的Web服务 <br>23.3 使用HTML模式匹配 <br>23.3.1 创建WSDL文档 <br>23.3.2 指定正则表达式模式 <br>23.3.3 创建简单的HTML模式匹配服务 <br>23.3.4 在HTML模式匹配中使用输入参数 <br>23.3.5 建立一个Six Degrees Web服务 <br>23.4 小结 <br><br>第七部分 利用.NET框架<br><br>第24章 操作集合和字符串 <br><br>24.1 使用集合 <br>24.1.1 使用ArrayList集合 <br>24.1.2 使用HashTable集合 <br>24.1.3 使用SortedList集合 <br>24.2 使用字符串 <br>24.2.1 对字符串进行格式化 <br>24.2.2 使用String方法和属性 <br>24.2.3 使用StringBuilder类 <br>24.3 使用正则表达式 <br>24.3.1 使用正则表达式类 <br>24.3.2 研究正则表达式的元素 <br>24.3.3 匹配单一字符 <br>24.3.4 匹配特殊字符 <br>24.3.5 匹配字符的替代序列 <br>24.3.6 使用数量词进行匹配 <br>24.3.7 正则表达式的超范围问题 <br>24.3.8 捕获和反向引用 <br>24.3.9 使用替换模式 <br>24.3.10 设置正则表达式选项 <br>24.4 小结 <br><br>第25章 操作文件系统 <br><br>25.1 使用文件和目录 <br>25.1.1 创建和读取文本文件 <br>25.1.2 创建和读取二进制文件 <br>25.1.3 显示目录的内容 <br>25.1.4 获取路径信息 <br>25.2 使用串行化 <br>25.2.1 使用二进制串行化 <br>25.2.2 使用XML串行化 <br>25.3 小结 <br><br>第26章 发送电子邮件和访问网络 <br><br>26.1 从ASP.NET页面发送电子邮件 <br>26.1.1 Microsoft SMTP Service <br>26.1.2 发送简单的电子邮件 <br>26.1.3 使用MailMessage类 <br>26.1.4 向电子邮件消息添加附件 <br>26.1.5 发送HTML电子邮件 <br>26.2 使用Message Queuing <br>26.2.1 配置Microsoft Message Queuing <br>26.2.2 使用消息队列 <br>26.2.3 向队列发送消息 <br>26.2.4 从队列获取消息 <br>26.2.5 显示消息体 <br>26.2.6 发送和接收复杂的消息 <br>26.3 使用HTTP协议访问其他网站 <br>26.3.1 使用WebClient类 <br>26.3.2 使用HttpWebRequest类 <br>26.3.3 解析域名 <br>26.4 小结 <br><br>第27章 用GDI+动态创建图形 <br><br>27.1 建立简单的图像 <br>27.2 使用GDI+绘制对象 <br>27.2.1 创建位图 <br>27.2.2 使用Graphics对象 <br>27.2.3 设置图形质量 <br>27.2.4 使用颜色 <br>27.2.5 使用画刷 <br>27.2.6 使用画笔 <br>27.2.7 绘制矩形 <br>27.2.8 绘制直线 <br>27.2.9 绘制椭圆 <br>27.2.10 绘制曲线 <br>27.3 绘制文本字符串 <br>27.4 建立GDI+应用程序 <br>27.4.1 创建ASP.NET绘图应用程序 <br>27.4.2 创建简单的图表应用程序 <br>27.5 小结 <br><br>第八部分 建立自定义的ASP.NET控件<br><br>第28章 开发自定义的控件 <br><br>28.1 创建简单的控件 <br>28.2 使用HtmlTextWriter <br>28.3 向控件添加属性和方法 <br>28.3.1 使用属性访问函数 <br>28.3.2 使用控件方法 <br>28.4 解析内部内容 <br>28.5 向控件添加子控件 <br>28.6 自定义控件和事件 <br>28.7 参与postback <br>28.8 创建组合控件 <br>28.9 派生现有的控件 <br>28.10 访问当前上下文 <br>28.11 调试控件 <br>28.12 小结 <br><br>第29章 高级控件开发 <br><br>29.1 向控件添加模板 <br>29.1.1 创建一个模板的多个实例 <br>29.1.2 向一个控件添加多个模板 <br>29.2 创建DataBound控件 <br>29.2.1 实现不同的数据源 <br>29.2.2 实现简单的DataBound控件 <br>29.2.3 使用DataBound控件和模板 <br>29.2.4 使用DataBound控件和状态 <br>29.2.5 将自定义控件绑定到DataSet <br>29.3 使用自定义控件和Web服务 <br>29.3.1 创建特色产品Web服务 <br>29.3.2 创建特色产品自定义控件 <br>29.3.3 显示特色产品控件 <br>29.4 小结 <br><br>第九部分 ASP.NET应用程序示例<br><br>第30章 创建职业介绍网站 <br><br>30.1 安装职业介绍网站 <br>30.2 创建主页 <br>30.3 对用户进行身份验证 <br>30.4 创建虚拟URL <br>30.5 列出和更新职位 <br>30.6 创建职业介绍XML Web服务 <br>30.7 小结 <br><br>第31章 创建网上商店 <br><br>31.1 ASP.NET Unleashed示例商店概述 <br>31.2 安装ASP.NET Unleashed示例商店 <br>31.3 建立导航系统 <br>31.4 缓存产品数据 <br>31.5 建立购物车 <br>31.6 动态装载产品模板 <br>31.6.1 使用LoadControl方法 <br>31.6.2 code-behind产品模板 <br>31.7 小结 <br><br>第十部分 附录<br><br>附录A 从ASP迁移到ASP.NET <br>附录B HTML控件参考 <br>附录C Web控件参考<br>

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值