linq 主要是通配符 *

JIQL7836 2009-07-01 10:20:18
linq 中 如何实现 select * from a,b where a.id = b.aid
主要是通配符 *
...全文
200 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
huminghua 2010-11-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yezie 的回复:]

from a1 in a
join b1 in b on a1.id equals b1.id
select new {a1,b1}
[/Quote]正解。。
fendouaj 2010-11-22
  • 打赏
  • 举报
回复
这样的
var query=(from a1 in a
from b1 in b
where a1.id == b1.id
select new {a1,b1})

去除重复取出列表数据:query=query.Distinct().ToList();
chengcheng1253 2009-07-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yezie 的回复:]
from a1 in a
join b1 in b on a1.id equals b1.id
select new {a1,b1}
[/Quote]

正解
yezie 2009-07-04
  • 打赏
  • 举报
回复
from a1 in a
join b1 in b on a1.id equals b1.id
select new {a1,b1}
g_lbz 2009-07-01
  • 打赏
  • 举报
回复
from a1 in a
join b1 in b on a1.Id equals b1.aId
select new {a,b}
手动优化了PDF的书签,书签可折叠,书签链接以目录方式保存,多达1000多页,每页都做了书签定位,手都累酸啦。 ============================== 因权限只能到60MB,分卷压缩了,共3个压缩包,需下载完3个一起解压, ============================== ASP.NET 4高级程序设计(第4版)》【原版书为:Pro ASP.NET 4 in C# 2010】是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简介 1.1 ASP.NET的7大要点 1.1.1 要点1:ASP.NET是同.NETFramework集成在一起的 1.1.2 要点2:ASP.NET是编译执行的,而不是解释执行的 1.1.3 要点3:ASP.NET支持多语言 1.1.4 要点4:ASP.NET运行在公共语言运行库内 1.1.5 要点5:ASP.NET是面向对象的 1.1.6 要点6:ASP.NET支持所有的浏览器 1.1.7 要点7:ASP.NET易于部署和配置 1.2 ASP.NET的演变 1.2.1 ASP.NET1.0和ASP.NET1.1 1.2.2  ASP.NET2.0 1.2.3 ASP.NET3.5 1.2.4 ASP.NET4 1.2.5 Silverlight 1.3 总结 第2章 Visual Studio 2.1 Visual Studio 2.1.1 网站和Web项目 2.1.2 创建无项目文件的网站 2.1.3 设计网页 2.2 Visual StudioIDE 2.2.1 解决方案资源管理器 2.2.2 文档窗口 2.2.3 工具箱 2.2.4 错误列表和任务列表 2.2.5 服务器资源管理器 2.3 代码编辑器 2.3.1 添加程序集引用 2.3.2 智能感知和大纲显示 2.3.3 Visual Studio 2010改进 2.4 编码模型 2.4.1 代码隐藏文件如何与页面连接 2.4.2 控件标签如何与页面变量连接 2.4.3 事件如何与事件处理程序连接 2.5 Web项目 2.5.1 基于项目的开发 2.5.2 创建Web项目 2.5.3 迁移旧版Visual Studio创建的网站 2.6 Visual Studio调试 2.6.1 单步调试 2.6.2 变量监视 2.6.3 高级断点 2.7 WebDevelopment Helper 2.8 总结 第3章 Web窗体 3.1 页面处理 3.1.1 HTML表单 3.1.2 动态用户界面 3.1.3 ASP.NET事件模型 3.1.4 自动回送 3.1.5 视图状态 3.1.6 XHTML兼容性 3.1.7 客户端控件ID 3.2 Web窗体处理阶段 3.2.1 页面框架初始化 3.2.2 用户代码初始化 3.2.3 验证 3.2.4 事件处理 3.2.5 自动数据绑定 3.2.6 清除 3.2.7 页面流示例 3.3 作为控件容器的页面 3.3.1 显示控件树 3.3.2 页头 3.3.3 动态控件的创建 3.4 Page类 3.4.1 Session、Application和Cache 3.4.2 Request 3.4.3 Response 3.4.4 Server 3.4.5 User 3.4.6 Trace 3.4.7 访问其他类中的HTTP上下文 3.5 总结 第4章 服务器控件 4.1 服务器控件的类型 4.2 HTML服务器控件 4.2.1 HtmlControl类 4.2.2 HtmlContainerControl类 4.2.3 HtmlInputControl类 4.2.4 HTML服务器控件类 4.2.5 设置Style特性和其他属性 4.2.6 通过编程创建服务器控件 4.2.7 处理服务器端事件 4.3 Web控件 4.3.1 WebControl基类 4.3.2 基本的Web控件类 4.3.3 单位 4.3.4 枚举 4.3.5 颜色 4.3.6 字体 4.3.7 焦点 4.3.8 默认按钮 4.3.9 可滚动面板 4.3.10 处理Web控件事件 4.4 List控件 4.4.1 Selectable列表控件 4.4.2 BulletedList控件 4.5 输入验证控件 4.5.1 验证控件 4.5.2 验证流程 4.5.3 BaseValidator类 4.5.4 RequiredFieldValidator控件 4.5.5 RangeValidator控件 4.5.6 CompareValidator控件 4.5.7 RegularExpressionValidator控件 4.5.8 CustomValidator控件 4.5.9 ValidationSummary控件 4.5.10 通过编程使用验证器 4.5.11 验证组 4.6 富控件 4.6.1 AdRotator控件 4.6.2 Calendar控件 4.7 总结 第5章 ASP.NET应用程序 5.1 剖析ASP.NET应用程序 5.1.1 应用程序域 5.1.2 应用程序生命周期 5.1.3 应用程序更新 5.1.4 应用程序目录结构 5.2 global.asax应用程序文件 5.2.1 应用程序事件 5.2.2 演示应用程序事件 5.3 ASP.NET配置 5.3.1 machine.config文件 5.3.2 web.config文件 5.3.3 设置 5.3.4 5.3.5 5.3.6 5.3.7 通过编程读写配置节 5.3.8 网站管理工具(WAT) 5.3.9 扩展配置文件结构 5.3.10 加密配置节 5.4 .NET组件 5.4.1 创建组件 5.4.2 通过App_Code目录使用组件 5.4.3 通过Bin目录使用组件 5.5 扩展HTTP管道 5.5.1 HTTP处理程序 5.5.2 创建自定义的HTTP处理程序 5.5.3 配置自定义的HTTP处理程序 5.5.4 使用无须配置的HTTP处理程序 5.5.5 创建高级的HTTP处理程序 5.5.6 为非HTML内容创建HTTP处理程序 5.5.7 HTTP模块 5.5.8 创建自定义HTTP模块 5.6 总结 第6章 状态管理 6.1 ASP.NET状态管理 6.2 视图状态 6.2.1 视图状态示例 6.2.2 在视图状态中保存对象 6.2.3 视图状态评估 6.2.4 有选择地禁用视图状态 6.2.5 视图状态安全 6.3 在页面间传送信息 6.3.1 查询字符串 6.3.2 跨页回发 6.4 cookie 6.5 会话状态 6.5.1 会话架构 6.5.2 使用会话状态 6.5.3 配置会话状态 6.5.4 会话状态安全 6.6 应用程序状态 6.7 总结 第二部分 数据访问 第7章 基础 7.1 ADO.NET架构 7.1.1 ADO.NET数据提供程序 7.1.2 ADO.NET的标准化 7.1.3 基本ADO.NET类 7.2 Connection类 7.2.1 连接字符串 7.2.2 测试连接 7.2.3 连接池 7.3 Command类和DataReader类 7.3.1 Command基础 7.3.2 DataReader类 7.3.3  ExecuteReader()方法和DataReader 7.3.4 ExecuteScalar()方法 7.3.5 ExecuteNonQuery()方法 7.3.6 SQL注入攻击 7.3.7 使用参数化命令 7.3.8 调用存储过程 7.4 事务 7.4.1 事务和ASP.NET应用程序 7.4.2 隔离级别 7.4.3 保存点 7.5 提供程序无关的代码 7.5.1 创建工厂 7.5.2 用工厂创建对象 7.5.3 使用提供程序无关的代码的查询 7.6 总结 第8章 数据组件和DataSet 8.1 构建数据访问组件 8.1.1 数据包 8.1.2 存储过程 8.1.3 数据应用类 8.1.4 测试数据库组件 8.2 非连接的数据 8.2.1 Web应用程序和DataSet 8.2.2 XML集成 8.3 DataSet类 8.4  DataAdapter类 8.4.1 填充DataSet 8.4.2 使用多个表和关系 8.4.3 查找特定行 8.4.4 在数据访问类里使用DataSet 8.4.5 数据绑定 8.5 DataView类 8.5.1 使用DataView排序 8.5.2 使用DataView过滤 8.5.3 使用关系的高级过滤 8.5.4 计算列 8.6 总结 第9章 数据绑定 9.1 基本的数据绑定 9.1.1 单值绑定 9.1.2 其他类型的表达式 9.1.3 重复值绑定 9.2 数据源控件 9.3 SqlDataSource 9.3.1 选择记录 9.3.2 参数化命令 9.3.3 错误处理 9.3.4 更新记录 9.3.5 删除记录 9.3.6 插入记录 9.3.7 SqlDataSource的不足 9.4 ObjectDataSource 9.4.1 选择记录 9.4.2 更新记录 9.4.3 使用数据对象执行更新 9.5 数据源控件的限制 9.5.1 问题 9.5.2 添加其他项 9.5.3 使用SqlDataSource处理其他选项 9.5.4 使用ObjectDataSource处理其他选项 9.6 总结 第10章 富数据控件 10.1 GridView 10.2 格式化GridView 10.2.1 格式化字段 10.2.2 样式 10.2.3 格式化特定值 10.3 GridView行选择 10.3.1 使用选择来创建主-从表单 10.3.2 SelectedIndexChanged事件 10.3.3 将数据字段用作选择按钮 10.4 对GridView排序 10.4.1 使用SqlDataSource排序 10.4.2 使用ObjectDataSource排序 10.4.3 排序和选择 10.4.4 高级排序 10.5 GridView分页 10.5.1 自动分页 10.5.2 分页和选择 10.5.3 ObjectDataSource的自定义分页 10.5.4 定制分页栏 10.6 GridView模板 10.6.1 使用多个模板 10.6.2 在Visual Studio中编辑模板 10.6.3 绑定到方法 10.6.4 处理模板中的事件 10.6.5 使用模板编辑 10.6.6 模板中的客户端ID 10.7 ListView 10.7.1 分组 10.7.2 分页 10.8 DetailsView和FormView 10.8.1 DetailsView 10.8.2 FormView 10.9 高级网格 10.9.1 GridView中的汇总 10.9.2 单个表中的父/子视图 10.9.3 使用查找表编辑字段 10.9.4 处理来自数据库的图片 10.9.5 探测并发冲突 10.10 总结 第11章 缓存和异步页面 11.1 理解ASP.NET缓存 11.2 输出缓存 11.2.1 声明性的输出缓存 11.2.2 缓存和查询字符串 11.2.3 使用特定查询字符串参数的缓存 11.2.4 自定义缓存控制 11.2.5 使用HttpCachePolicy类进行缓存 11.2.6 缓存后替换和部分页缓存 11.2.7 缓存用户配置 11.2.8 缓存配置 11.2.9 输出缓存扩展 11.3 数据缓存 11.3.1 向缓存添加项目 11.3.2 简单的缓存测试 11.3.3 缓存优先级 11.3.4 使用数据源控件的缓存 11.4 缓存依赖 11.4.1 文件和缓存项目依赖 11.4.2 聚合依赖 11.4.3 移除项目回调 11.4.4 理解SQL缓存通知 11.4.5 缓存通知的工作方式 11.4.6 启用通知 11.4.7 创建缓存依赖 11.5 自定义缓存依赖 11.5.1 基本的自定义缓存依赖 11.5.2 使用消息队列的自定义缓存依赖 11.6 异步页面 11.6.1 创建异步页面 11.6.2 在异步页面中查询数据 11.6.3 错误处理 11.6.4 在异步任务中使用缓存 11.6.5 多异步任务和超时 11.7 总结 第12章 文件和流 12.1 使用文件系统 12.1.1 Directory类和File类 12.1.2 DirectoryInfo类和FileInfo类 12.1.3 DriveInfo类 12.1.4 使用Attributes 12.1.5 使用通配符过滤文件 12.1.6 获取文件的版本信息 12.1.7 Path类 12.1.8 文件浏览器 12.2 使用流读写文件 12.2.1 文本文件 12.2.2 二进制文件 12.2.3 上传文件 12.2.4 使文件对多用户安全 12.2.5 压缩 12.3 序列化 12.4 总结 第13章 LINQ 13.1 LINQ基础 13.1.1 延迟执行 13.1.2 LINQ是如何工作的 13.1.3 LINQ表达式 13.1.4 揭秘LINQ表达式 13.2 LINQ to DataSet 13.2.1 强类型的DataSet 13.2.2 空值 13.3 LINQ to Entities 13.3.1 生成数据模型 13.3.2 数据模型类 13.3.3 实体关系 13.3.4 查询存储过程 13.3.5 LINQ to Entities查询揭秘 13.4 数据库操作 13.4.1 插入 13.4.2 更新 13.4.3 删除 13.4.4 管理并发 13.4.5 处理并发冲突 13.5 EntityDataSource控件 13.5.1 显示数据 13.5.2 获取关联数据 13.5.3 编辑数据 13.5.4 验证 13.6 使用QueryExtender控件 13.6.1 使用SearchExperssion 13.6.2 使用RangeExpression 13.6.3 使用PropertyExpression 13.6.4 使用MethodExpression 13.7 总结 第14章 XML 14.1 什么时候使用XML 14.2 XML简介 14.2.1 XML的优点 14.2.2 格式良好的XML 14.2.3 XML命名空间 14.2.4 XML架构 14.3 基于流的XML处理 14.3.1 写XML文件 14.3.2 读取XML文件 14.4 内存中的XML处理 14.4.1 XmlDocument 14.4.2 XPathNavigator 14.4.3 XDocument 14.5 搜索XML内容 14.5.1 搜索XmlDocument 14.5.2 使用XPath搜索XmlDocument 14.5.3 使用LINQ搜索XDocument 14.6 验证XML内容 14.6.1 基本架构 14.6.2 验证XmlDocument 14.6.3 使用XDocument进行验证 14.7 转换XML内容 14.7.1 基本的样式表 14.7.2 使用XslCompiledTransform 14.7.3 使用Xml控件 14.7.4 使用LINQ to XML转换XML 14.8 XML数据绑定 14.8.1 非层次化绑定 14.8.2 使用XPath 14.8.3 嵌套的网格 14.8.4 使用TreeView的层次化绑定 14.8.5 使用XSLT 14.8.6 绑定到来自其他源的XML内容 14.8.7 通过XmlDataSource更新XML 14.9 XML和ADO.NET数据集 14.9.1 把DataSet转换为XML 14.9.2 把DataSet作为XML访问 14.10 总结 第三部分 构建ASP.NET网站 第15章 用户控件 15.1 用户控件基础 15.1.1 创建简单的用户控件 15.1.2 把页面转换成用户控件 15.2 为用户控件添加代码 15.2.1 处理事件 15.2.2 添加属性 15.2.3 使用自定义对象 15.2.4 添加事件 15.2.5 公开内部Web控件 15.3 动态加载用户控件 15.4 局部页面缓存 15.4.1 VaryByControl 15.4.2 共享缓存控件 15.5 总结 第16章 主题和母版页 16.1 层叠样式表 16.1.1 创建样式表 16.1.2 应用样式表规则 16.2 主题 16.2.1 主题文件夹和外观 16.2.2 应用简单主题 16.2.3 处理主题冲突 16.2.4 为同一控件创建多个外观 16.2.5 含有模板和图片的外观 16.2.6 在主题里使用CSS 16.2.7 通过配置文件来应用主题 16.2.8 动态应用主题 16.3 标准化网站布局 16.4 母版页基础 16.4.1 简单的母版页 16.4.2 简单的内容页 16.4.3 默认内容 16.4.4 具有表格和CSS布局的母版页 16.4.5 母版页和相对路径 16.4.6 通过配置文件应用母版页 16.5 高级母版页 16.5.1 和母版页类交互 16.5.2 动态设置母版页 16.5.3 嵌套母版页 16.6 总结 第17章 网站导航 17.1 多视图页面 17.1.1 MultiView控件 17.1.2 Wizard控件 17.2 站点地图 17.2.1 定义站点地图 17.2.2 绑定站点地图 17.2.3 导航路径 17.2.4 显示站点地图的一部分 17.2.5 站点地图对象 17.2.6 加入自定义站点地图信息 17.2.7 创建自定义的SiteMapProvider 17.2.8 安全调整 17.3 URL映射和路由 17.3.1 URL映射 17.3.2 URL路由 17.4 TreeView控件 17.4.1 TreeNode 17.4.2 按需填充节点 17.4.3 TreeView样式 17.5 Menu控件 17.5.1 Menu样式 17.5.2 Menu模板 17.6 总结 第18章 网站部署 18.1 安装和配置IIS 18.1.1 安装IIS 7 18.1.2 管理IIS 7 18.2 部署网站 18.2.1 通过复制文件进行部署 18.2.2 使用Web部署 18.2.3 通过FTP部署 18.3 管理网站 18.3.1 创建新站点 18.3.2 创建虚拟目录 18.3.3 使用VirtualPathProvider 18.3.4 使用应用程序池 18.3.5 使用应用程序预热 18.4 扩展集成管道 18.4.1 创建处理程序 18.4.2 部署处理程序 18.4.3 配置处理程序 18.4.4 测试处理程序 18.5 总结 第四部分 安全 第19章 ASP.NET安全模型 19.1 为何创建安全软件 19.1.1 理解潜在的威胁 19.1.2 安全编程原则 19.1.3 理解Gatekeeper 19.2 理解安全级别 19.2.1 验证 19.2.2 授权 19.2.3 机密性和完整性 19.2.4 互相协作 19.3 理解SSL 19.3.1 理解证书 19.3.2 理解SSL 19.3.3 在IIS 7.x中配置SSL 19.4 总结 第20章 表单验证 20.1 表单验证介绍 20.1.1 为什么使用表单验证 20.1.2 为什么不使用表单验证 20.1.3 为什么不自己实现cookie验证 20.1.4 表单验证类 20.2 实现表单验证 20.2.1 配置表单验证 20.2.2 禁止匿名用户访问 20.2.3 创建自定义登录页面 20.2.4 自定义凭证存储 20.2.5 表单验证中的持久化cookie 20.3 IIS 7.x和表单验证 20.4 总结 第21章 成员资格 21.1 介绍ASP.NET的成员资格API 21.2 使用成员资格API 21.2.1 配置表单验证 21.2.2 创建数据存储 21.2.3 配置连接字符串和成员资格提供程序 21.2.4 创建并验证用户 21.3 使用安全控件 21.3.1 Login控件 21.3.2 LoginStatus控件 21.3.3 LoginView控件 21.3.4 PasswordRecovery控件 21.3.5 ChangePassword控件 21.3.6 CreateUserWizard控件 21.4 在IIS 7.x里配置成员资格 21.4.1 配置提供程序和用户 21.4.2 在其他应用程序里使用成员资格API 21.5 使用Membership类 21.5.1 从存储中获得用户 21.5.2 更新存储中的用户 21.5.3 创建和删除用户 21.5.4 检验用户 21.6 总结 第22章 Windows验证 22.1 介绍Windows验证 22.1.1 为什么使用Windows验证 22.1.2 为什么不使用Windows验证 22.1.3 Windows验证机制 22.2 实现Windows验证 22.2.1 配置IIS 7.x 22.2.2 配置ASP.NET 22.2.3 IIS 7.x管道 22.2.4 禁止匿名用户访问 22.2.5 访问Windows用户信息 22.3 身份模拟 22.3.1 Windows中的身份模拟和委托 22.3.2 经过配置的身份模拟 22.3.3 可编程的身份模拟 22.4 总结 第23章 授权和角色 23.1 URL 授权 23.2 文件授权 23.3 在代码中检查授权 23.3.1 使用IsInRole()方法 23.3.2 使用PrincipalPermission类 23.4 为基于角色的授权使用角色API 23.4.1 和角色一起使用LoginView控件 23.4.2 通过编程访问角色 23.4.3 在Windows验证中使用角色API 23.5 IIS 7.x里的授权和角色 23.5.1 在IIS 7.x里使用ASP.NET角色授权 23.5.2 在IIS 7.x中管理ASP.NET角色 23.6 总结 第24章 用户配置 24.1 理解用户配置 24.1.1 用户配置的性能 24.1.2 用户配置如何存储数据 24.1.3 用户配置和验证 24.1.4 用户配置与自定义的数据组件 24.2 使用SqlProfileProvider 24.2.1 创建用户配置表 24.2.2 配置提供程序 24.2.3 定义用户配置属性 24.2.4 使用用户配置属性 24.2.5 用户配置序列化 24.2.6 用户配置组 24.2.7 用户配置和自定义的数据类型 24.2.8 用户配置API 24.2.9 匿名用户配置 24.3 自定义的用户配置提供程序 24.3.1 自定义的用户配置提供程序类 24.3.2 设计FactoredProfileProvider 24.3.3 通过编码实现FactoredProfileProvider 24.3.4 测试FactoredProfileProvider 24.4 总结 第25章 加密 25.1 加密数据:机密性问题 25.2 .NET加密命名空间 25.3 理解.NET加密类 25.3.1 对称加密算法 25.3.2 非对称加密 25.3.3 抽象加密类 25.3.4 ICryptoTransform接口 25.3.5 CryptoStream类 25.4 加密敏感数据 25.4.1 管理秘密信息 25.4.2 使用对称算法 25.4.3 使用非对称算法 25.4.4 加密数据库中的敏感数据 25.5 加密查询字符串 25.5.1 包装查询字符串 25.5.2 创建一个测试页面 25.6 总结 第26章 自定义成员资格提供程序 26.1 自定义提供程序的架构 26.2 创建自定义提供程序的基本步骤 26.2.1 自定义提供程序的总体设计 26.2.2 设计并实现自定义存储 26.2.3 实现提供程序类 26.2.4 使用自定义提供程序类 26.3 总结 第五部分 高级用户界面 第27章 自定义服务器控件 27.1 自定义服务器控件入门 27.1.1 创建简单的自定义控件 27.1.2 使用自定义控件 27.1.3 工具箱中的自定义控件 27.1.4 创建支持样式属性的Web控件 27.1.5 呈现过程 27.2 处理不同的浏览器 27.2.1 HtmlTextWriter 27.2.2 浏览器检测 27.2.3 浏览器属性 27.2.4 覆盖浏览器类型侦测 27.2.5 自适应呈现 27.3 控件状态和事件 27.3.1 视图状态 27.3.2 控件状态 27.3.3 回传数据和change事件 27.3.4 触发回传 27.4 扩展现有的Web控件 27.4.1 组合控件 27.4.2 派生控件 27.5 总结 第28章 图形、GDI+和图表 28.1 ImageMap控件 28.1.1 创建热点 28.1.2 处理热点单击 28.1.3 自定义热点 28.2 使用GDI+画图 28.2.1 简单绘制 28.2.2 图像格式和质量 28.2.3 Graphics类 28.2.4 使用GraphicsPath 28.2.5 画笔 28.2.6 画刷 28.3 在网页上嵌入动态图形 28.3.1 使用PNG格式 28.3.2 传递信息给动态图像 28.3.3 使用GDI+的自定义控件 28.4 使用Chart控件 28.4.1 创建基本的图表 28.4.2 用数据填充图表 28.5 总结 第29章 JavaScript和Ajax技术 29.1 JavaScript本质 29.1.1 HTML DOM 29.1.2 客户端事件 29.1.3 脚本块 29.1.4 操纵HTML元素 29.1.5 调试JavaScript 29.2 基本的JavaScript示例 29.2.1 创建JavaScript页面处理器 29.2.2 使用JavaScript异步下载图片 29.2.3 呈现脚本块 29.3 脚本注入攻击 29.3.1 请求验证 29.3.2 禁用请求验证 29.3.3 扩展请求验证 29.4 带有JavaScript的自定义控件 29.4.1 弹出窗口 29.4.2 滚动按钮 29.5 框架 29.5.1 框架导航 29.5.2 内联框架 29.6 理解Ajax 29.6.1 XMLHttpRequest对象 29.6.2 Ajax示例 29.7 在客户端回调中使用Ajax 29.7.1 创建客户端回调 29.7.2 深入了解客户端回调 29.7.3 自定义控件里的客户端回调 29.8 总结 第30章 ASP.NETAJAX 30.1 介绍ASP.NETAJAX 30.1.1 客户端的ASP.NETAJAX:脚本库 30.1.2 服务器端的ASP.NETAJAX:ScriptManager 30.2 服务器回调 30.2.1 ASP.NETAJAX中的Web服务 30.2.2 在页面里放置Web方法 30.2.3 ASP.NETAJAX应用程序服务 30.3 ASP.NETAJAX服务器控件 30.3.1 使用UpdatePanel的局部呈现 30.3.2 使用Timer的定时刷新 30.3.3 使用UpdateProgress的耗时更新 30.3.4 管理浏览器历史 30.4 深入客户端库 30.4.1 理解客户端模型 30.4.2 JavaScript的面向对象编程 30.4.3 网页框架 30.5 控件扩展器 30.5.1 安装ASP.NETAJAX控件工具包 30.5.2 AutoCompleteExtender 30.5.3 ASP.NETAJAX控件工具包 30.6 总结 第31章 使用Web部件页面的门户网站 31.1 典型门户页面 31.2 基本Web部件页面 31.2.1 创建页面设计 31.2.2 WebPartManager和WebPartZone 31.2.3 向页面添加Web部件 31.2.4 定制页面 31.3 创建Web部件 31.3.1 简单的Web部件任务 31.3.2 开发高级Web部件 31.3.3 Web部件编辑器 31.3.4 连接Web部件 31.3.5 自定义动词和Web部件 31.3.6 用户控件和高级Web部件 31.3.7 动态上传Web部件 31.3.8 对Web部件的授权 31.3.9 个性化的最后任务 31.4 总结 第32章 MVC 32.1 MVC和Web表单的选择 32.2 创建基本的MVC应用程序 32.2.1 创建模型 32.2.2 创建控制器 32.2.3 创建Index视图 32.2.4 测试(未完成的)应用程序 32.2.5 完成控制器和视图 32.2.6 修改Site.Master文件 32.3 扩展基础的MVC应用程序 32.3.1 配置路由 32.3.2 增加错误处理 32.3.3 增加验证 32.3.4 增强数据存储访问 32.3.5 增加对外键约束的支持 32.4 自定义视图 32.4.1 修改视图 32.4.2 增加视图数据 32.5 强化模型 32.6 验证数据 32.6.1 执行基本的验证 32.6.2 增加验证标注 32.7 使用动作结果 32.7.1 返回JSON数据 32.7.2 调用其他控制器方法 32.8 总结 第33章 动态数据 33.1 创建动态数据应用程序 33.1.1 创建动态数据网站 33.1.2 检验动态数据网站 33.2 深入理解动态数据项目 33.3 自定义动态数据网站 33.3.1 使用模板进行自定义 33.3.2 使用路由进行自定义 33.3.3 使用元数据进行自定义 33.3.4 自定义验证 33.4 总结 第34章 Silverlight 34.1 理解Silverlight 34.1.1 Silverlight与Flash对比 34.1.2 Silverlight系统需求 34.2 创建Silverlight解决方案 34.2. 1 Silverlight编译 34.2.2 入口页面 34.3 创建Silverlight项目 34.3.1 设计Silverlight页面 34.3.2 理解XAML 34.3.3 设置属性 34.3.4 XAML 代码隐藏 34.3.5 处理事件 34.3.6 了解Silverlight类库 34.4 布局 34.4.1 Canvas 34.4.2 网格 34.5 动画 34.5.1 动画基础知识 34.5.2 定义动画 34.5.3 StoryBoard类 34.5.4 交互式动画实例 34.5.5 变换 34.6 Silverlight使用Web服务 34.6.1 创建Web服务 34.6.2 添加Web引用 34.6.3 调用Web服务 34.6.4 配置Web服务URL 34.6.5 跨域Web服务调用 34.7 总结
内容简介   《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
一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后附录提供快速索引,即查、即学、即用。 第1章 窗体与界面设计 1 1.1 菜单应用实例 2 实例001 带历史信息的菜单 2 实例002 菜单动态合并 3 实例003 像开始菜单一样漂亮的菜单 4 实例004 任务栏托盘菜单 4 实例005 可以拉伸的菜单界面 5 实例006 级联菜单 6 1.2 工具栏设计 6 实例007 带背景的工具栏 7 实例008 浮动工具栏 7 实例009 带下拉菜单的工具栏 8 实例010 具有提示功能的工具栏 8 1.3 状态栏设计 9 实例011 在状态栏中显示检查框 9 实例012 带进度条的状态栏 10 实例013 状态栏中加入图标 11 1.4 导航菜单界面 11 实例014 OutLook界面 11 实例015 带导航菜单的主界面 12 实例016 图形化的导航界面 14 1.5 特色程序界面 15 实例017 隐藏式窗体 15 实例018 类似Windows XP的程序界面 18 实例019 软件启动界面 19 实例020 以树形显示的程序界面 20 实例021 动态按钮的窗体界面 21 1.6 特殊形状的窗体 23 实例022 非矩形窗体 23 实例023 建立字体形状窗体 24 实例024 控件随窗体自动调整 25 实例025 带分隔栏的窗体 25 实例026 随机更换主界面背景 26 1.7 多媒体光盘 27 实例027 自动启动的多媒体光盘程序 27 实例028 为触摸屏程序添加虚拟键盘 28 1.8 窗体效果 29 实例029 半透明渐显窗体 29 实例030 窗口颜色的渐变 30 1.9 窗体动画 31 实例031 窗体中的滚动字幕 31 实例032 动画显示窗体 32 实例033 制作闪烁的窗体 33 实例034 实现任务栏通知窗口 34 实例035 动画形式的程序界面 38 1.10 标题栏窗体 39 实例036 使窗体标题栏文字右对齐 39 实例037 没有标题栏但可以改变大小的窗口 39 1.11 设置窗体位置 40 实例038 设置窗体在屏幕中的位置 40 实例039 始终在最上面的窗体 41 实例040 从桌面右下角显示的窗体 41 1.12 设置窗体大小 43 实例041 获取桌面大小 43 实例042 在窗口间移动按钮 44 实例043 如何实现Office助手 45 1.13 窗体控制技术 46 实例044 在关闭窗口前加入确认对话框 46 实例045 通过子窗体刷新父窗体 47 实例046 拖动无边框窗体 51 1.14 其他技术 52 实例047 禁用窗口上的关闭按钮 52 实例048 实现动态系统托盘图标 53 实例049 实现气泡提示窗口 54 第2章 控件应用 56 2.1 TextBox控件应用 57 实例050 只允许输入数字的TextBox控件 57 实例051 在TextBox控件底端显示下划线 59 实例052 屏蔽TextBox控件上的粘贴功能 61 实例053 屏蔽TextBox控件上默认的右键菜单 62 2.2 ComboBox控件应用 63 实例054 美化ComboBox控件下拉列表 63 实例055 用ComboBox控件制作浏览器网址输入框 64 2.3 RichTextBox控件应用 65 实例056 在RichTextBox控件中添加超链接文字 65 实例057 在RichTextBox控件中显示RTF格式的文件 66 实例058 为RichTextBox控件添加自定义滚动条 68 实例059 在RichTextBox控件中实现关键字描红 69 实例060 在RichTextBox控件中实现项目编号功能 71 实例061 设置RichTextBox控件中文本对齐方式 74 2.4 ListBox控件应用 77 实例062 在ListBox控件间交换数据 77 实例063 将数据库数据添加到ListBox控件中 78 实例064 借助绑定控件实现数据选择录入 79 实例065 设置ListBox控件选择项 80 2.5 选择类控件应用 83 实例066 利用选择控件实现权限设置 83 实例067 利用选择控件实现复杂查询 85 2.6 ListView控件应用 87 实例068 ListView控件间的数据移动 87 实例069 将数据库数据添加到ListView控件 90 实例070 在ListView控件中实现修改功能 91 实例071 在ListView控件中对数据排序或统计 92 实例072 在ListView控件中绘制底纹 93 实例073 在列表视图中拖动视图项 94 实例074 使ListView控件中的选择项高亮显示 97 实例075 带复选框的ListView控件 99 2.7 TreeView控件应用 100 实例076 将数据库数据显示到树视图中 100 实例077 用TreeView控件制作导航界面 102 实例078 用TreeView控件遍历磁盘目录 102 实例079 修改TreeView控件中的节点 105 实例080 将XML文件节点绑定到TreeView控件中 106 2.8 DataGridView控件应用 108 实例081 DataGridView控件的分页功能 108 实例082 从DataGridView控件拖放数据至TreeView控件 113 实例083 在DataGridView控件中实现合并单元格 116 实例084 在DataGridView控件中显示图片 118 实例085 为DataGridView控件实现复选功能 120 实例086 禁用DataGridView控件列表头自动排序 122 2.9 其他控件典型应用 123 实例087 TrackBar控件的简单应用 123 实例088 自制平滑进度条控件 125 实例089 MaskedTextBox控件的简单应用 128 实例090 制作日历计划任务 130 实例091 在ProgressBar控件中显示进度百分比 132 实例092 在NumericUpDown控件中显示当前系统日期 133 2.10 控件技术 134 实例093 程序运行时智能增减控件 134 实例094 多控件的焦点循环移动 136 实例095 动态创建控件 138 实例096 在Button按钮上绘图 138 2.11 焦点变换与输入控制 140 实例097 按回车键焦点在控件中移动的录入窗口 140 实例098 程序运行时拖动控件 141 实例099 控件得到焦点时变色 142 实例100 控件的输入限制 143 2.12 特殊控件 144 实例101 为控件制作立体效果 144 实例102 获取控件名称和内容 145 第3章 组件应用 147 3.1 BackgroundWorker组件 148 实例103 BackgroundWorker组件执行异步操作 148 3.2 ErrorProvider组件 150 实例104 使用ErrorProvider组件验证文本框输入 150 3.3 EventLog组件 151 实例105 使用EventLog组件读写Windows系统事件日志 151 实例106 使用EventLog组件保存Windows系统日志 153 实例107 使用EventLog组件向本机现有日志中添加条目 155 3.4 FileSystemWatcher组件 156 实例108 使用FileSystemWatcher组件监视系统日志文件是否被更改 157 3.5 HelpProvider组件 158 实例109 使用HelpProvider组件调用帮助文件 159 3.6 Process组件 159 实例110 使用Process组件访问本地进程 159 3.7 Timer组件 161 实例111 使用Timer组件制作计时器 161 实例112 使用Timer组件显示当前系统时间 165 实例113 使用Timer组件制作左右飘动的窗体 166 实例114 使用Timer组件实现奥运倒计时 167 3.8 ServiceController组件 169 实例115 使用ServiceController组件控制计算机的服务 169 3.9 ImageList组件 171 实例116 使用ImageList组件制作动画图片 171 3.10 DirectoryEntry组件 172 实例117 使用DirectoryEntry组件建立虚拟目录 172 第4章 图形技术 174 4.1 绘制图形 175 实例118 绘制公章 175 实例119 在图片中写入文字 176 实例120 局部图片的复制 178 实例121 波形图的绘制 179 4.2 图形转换 180 实例122 BMP转换成JPG格式 181 实例123 JPG转换成BMP格式 182 实例124 位图转化为WMF格式 183 实例125 ICO文件转化为位图 184 实例126 图片批量转换工具 185 4.3 图像预览 187 实例127 局部图像放大 187 实例128 浏览大图片 188 实例129 剪切图片 189 实例130 图像旋转 192 实例131 鼠标拖曳图像 193 4.4 图形缩放与变换 194 实例132 如何放大和缩小图像 194 实例133 如何旋转JPG图像 195 实例134 如何实现图形翻转 196 4.5 图像效果 196 实例135 百叶窗效果显示图像 197 实例136 推拉效果显示图像 198 实例137 水平交错效果显示图像 199 实例138 垂直交错效果显示图像 200 实例139 图像纹理效果 201 实例140 图像浮雕效果 203 实例141 积木效果 204 实例142 马赛克效果显示图像 205 实例143 雾化效果显示图像 206 实例144 锐化效果显示图像 207 实例145 黑白效果显示图像 208 实例146 光晕效果显示图像 209 4.6 图像字体 210 实例147 倒影效果的文字 210 实例148 投影效果的文字 211 实例149 印版效果的文字 213 实例150 阴影效果的文字 214 实例151 倾斜效果的文字 214 实例152 渐变效果的文字 215 实例153 缩放效果的文字 216 实例154 辉光效果文字 217 实例155 如何在图片中移动文字 220 4.7 图像动画 221 实例156 动画背景窗体 221 实例157 随鼠标移动的图像 223 实例158 十字光标定位 224 实例159 抓取鼠标指针的形状 225 实例160 图像的上下对接显示 226 实例161 任意角度旋转图像 227 实例162 以四周扩散形式显示图像 229 4.8 图像识别 230 实例163 查看图片的像素 230 实例164 设置图像中指定位置的像素值 230 实例165 在图像文件中实现自定义标记 232 实例166 获取指定点的RGB值 234 4.9 图像工具 235 实例167 获取图片类型 235 实例168 简单画图程序 236 实例169 看图工具 239 实例170 文字保存为图片 240 实例171 捕获屏幕 241 4.10 图像应用 243 实例172 随机更换壁纸程序 243 实例173 屏幕保护 244 实例174 模拟石英钟 247 实例175 生肖速查 249 第5章 多媒体技术 251 5.1 CD、VCD播放 252 实例176 播放指定的avi-mid-wav文件 252 实例177 获取多媒体详细信息列表 253 5.2 MP3、WAV播放 254 实例178 带记忆功能的MP3播放器 254 实例179 自动播放的MP3播放器 257 实例180 学校体操定时音乐播放 258 实例181 播放系统自带的事件声音 259 实例182 获取MP3文件的歌词 260 实例183 M3U文件的创建及删除 264 实例184 获取MP3文件的播放时间 267 实例185 异步加载并播放声音文件 269 5.3 动画播放 270 实例186 播放Flash动画 270 实例187 制作AVI播放器 272 实例188 播放GIF动画 273 实例189 利用Image制作小动画 274 5.4 媒体控制 275 实例190 检测是否安装声卡 275 实例191 打开和关闭CDROM 276 实例192 控制PC喇叭发声 277 实例193 获取显示设备的名称及PNPDeviceID 278 实例194 如何收听网络电台 279 实例195 获取显示设备的最大、最小及当前刷新率 281 实例196 隐藏控制面板中的声音设备 281 实例197 获取显示设备的当前显示模式 282 实例198 获取声音设备的名称及PNPDeviceID 283 实例199 语音计算器 284 5.5 多媒体应用 286 实例200 开机祝福程序 286 实例201 制作家庭影集 287 实例202 产品电子报价 288 实例203 产品滚动展示程序 290 实例204 将图片资源添加到EXE里 291 5.6 屏幕保护相关程序 292 实例205 电子相册屏幕保护程序 292 实例206 歌曲播放屏幕保护程序 293 第6章 文件系统 294 6.1 创建、删除文件和文件夹 295 实例207 创建和删除文件夹 295 实例208 建立临时文件 296 实例209 根据日期动态建立文件 296 实例210 清空回收站 298 6.2 查找文件 299 实例211 搜索文件 299 实例212 检查文件是否存在 300 实例213 提取指定文件夹目录 301 6.3 修改文件 302 实例214 更改文件名称 302 实例215 修改文件属性 303 实例216 修改文件及目录的名称 304 6.4 文件目录 305 实例217 获得临时文件目录 305 实例218 获取应用程序所在目录 305 实例219 得到系统当前目录 306 实例220 在程序中改变当前路径 307 6.5 复制文件 307 实例221 使用FileStream复制大文件 308 实例222 复制文件时显示复制进度 310 实例223 批量复制文件 312 6.6 指定类型的文件操作 313 实例224 文本文件的操作 313 实例225 使用ROT13加密解密文件 314 6.7 其他 315 实例226 获取窗口文本 315 实例227 判断文件是否正在被使用 316 实例228 在程序中调用.HLP文件 317 实例229 C#中实现文件拖放 317 实例230 文件比较 318 实例231 获取文件夹中的图标资源 319 实例232 获取文件夹下的所有文件夹及文件的名称 321 第7章 操作系统与Windows相关程序 324 7.1 启动相关 325 实例233 进入Windows系统前发出警告 325 实例234 实现注销、关闭和重启计算机 326 7.2 获得磁盘属性 328 实例235 获得硬盘序列号 328 实例236 获取映射驱动器路径 330 实例237 判断驱动器类型 331 实例238 获取所有逻辑分区 332 7.3 磁盘相关设置 333 实例239 取消磁盘共享 333 实例240 检查驱动器容量 334 实例241 检测磁盘是否准备好 335 实例242 图表显示磁盘容量 335 实例243 格式化磁盘 337 7.4 系统控制 338 实例244 将计算机设置为休眠状态 338 实例245 切换输入法 339 实例246 创建应用程序快捷方式 340 7.5 系统设置 340 实例247 设置桌面背景 341 实例248 设置系统时间 342 实例249 设置屏幕分辨率 343 7.6 系统监控 344 实例250 检测系统启动模式 344 实例251 内存使用状态监控 345 实例252 键盘钩子屏蔽热键 346 实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统启动后经过的时间 351 实例257 系统已经安装的打印机信息 352 7.8 鼠标操作 353 实例258 切换鼠标左右键 353 实例259 限制鼠标活动区域 354 实例260 获取鼠标在任意点的颜色值 355 实例261 设置鼠标样式 357 7.9 程序控制 359 实例262 打开控制面板中的程序 359 实例263 添加程序托盘 360 实例264 不出现在任务栏上的程序 360 实例265 怎样调用外部的EXE文件 361 实例266 关闭外部已开启的程序 362 7.10 程序运行 363 实例267 防止程序多次运行 363 实例268 程序运行时禁止关机 364 实例269 获取任务栏尺寸大小 365 实例270 改变系统提示信息 366 实例271 获取系统环境变量 367 实例272 启动屏幕保护 368 7.11 系统隐藏 369 实例273 隐藏、显示任务栏 369 实例274 隐藏、显示开始按钮 370 实例275 查看当前系统版本 371 实例276 使桌面图标文字透明 372 实例277 检索系统中正在运行的任务 373 实例278 隐藏、显示桌面图标 374 7.12 其他 375 实例279 两种信息发送方式 375 实例280 判断计算机中是否安装了SQL软件 378 第8章 注册表 380 8.1 个性桌面 381 实例281 禁用桌面选项卡 381 实例282 禁用外观选项卡 382 实例283 禁用屏幕保护选项卡 383 实例284 设置任务栏时间样式 383 8.2 系统设置 384 实例285 隐藏桌面快捷方式图标的小箭头 384 实例286 禁用Windows任务管理器 385 实例287 禁用任务栏的右键菜单 386 8.3 IE浏览器设置 387 实例288 修改IE浏览器标题栏内容 387 实例289 获取IE浏览器版本信息 388 实例290 设置IE浏览器的默认主页 388 实例291 禁止修改IE浏览器主页 389 8.4 应用软件设置 390 实例292 建立数据文件与程序的关联 390 实例293 使应用程序开机自动运行 391 第9章 数据库技术 393 9.1 连接Access数据库 394 实例294 连接Access数据库 394 实例295 连接加密的Access数据库 394 实例296 自动识别Access 2000数据库路径 396 实例297 连接网络上共享的Access 2000数据库 397 实例298 将Access数据库导入Excel文件中 398 9.2 连接SQL Server数据库 400 实例299 使用ODBC DSN连接SQL Server数据库 400 实例300 使用ODBC非DSN连接SQL Server数据库 402 实例301 使用OLE DB连接SQL Server数据库 403 实例302 建立SQL Server数据库连接 404 9.3 连接其他数据库 405 实例303 连接Excel文件 405 实例304 连接Oracle数据库 406 9.4 数据库结构的读取与修改 407 实例305 读取SQL Server数据库结构 407 实例306 修改SQL Server数据库结构 409 9.5 数据录入 412 实例307 利用数据绑定控件录入数据 412 实例308 使用ADO.NET对象录入数据 414 实例309 利用SQL语句录入数据 416 实例310 利用存储过程录入数据 417 9.6 图片存取技术 420 实例311 使用存取文件名的方法存取图片 420 实例312 使用ADO.NET对象向SQL Server数据库存入图片 421 9.7 数据修改 423 实例313 利用数据绑定控件修改数据 424 实例314 利用数据对象修改数据 426 实例315 利用SQL语句修改数据 427 实例316 利用存储过程修改数据 429 9.8 数据保存前判断 431 实例317 判断输入数据是否符合要求 431 实例318 判断是否重复输入数据 433 9.9 数据删除 434 实例319 删除表格中指定的记录 434 实例320 利用SQL语句删除数据 435 9.10 数据记录 436 实例321 分页显示信息 436 实例322 移动记录 437 9.11 数据维护 439 实例323 在C#中分离SQL Server数据库 439 实例324 在C#中附加SQL Server数据库 440 实例325 在C#中附加单文件SQL Server数据库 441 9.12 数据备份恢复 442 实例326 备份SQL Server数据库 442 实例327 还原SQL Server数据库 445 9.13 管理系统开发相关 447 实例328 开启SQL Server数据库 447 实例329 断开SQL Server数据库与其他应用程序的连接 449 实例330 带图像列表的系统登录程序 450 实例331 利用SQL语句执行外围命令 451 实例332 系统初始化 452 第10章 SQL查询相关技术 454 10.1 SELECT子句 455 实例333 查询特定列数据 455 实例334 使用列别名 457 实例335 在列上加入计算 458 实例336 使用函数设置条件 459 10.2 查询常量 461 实例337 查询数字 461 实例338 查询字符串 462 实例339 查询日期数据 464 实例340 查询逻辑型数据 465 实例341 查询空(“”或Null)数据 466 10.3 查询变量 467 实例342 利用变量查询字符串数据 467 实例343 利用变量查询数值型数据 468 实例344 利用变量查询日期型数据 469 10.4 模式查询 471 实例345 利用“_”通配符进行查询 471 实例346 利用“%”通配符进行查询 472 实例347 利用“[]”通配符进行查询 473 实例348 利用“[^]”通配符进行查询 474 实例349 复杂的模式查询 475 10.5 TOP和PERCENT限制查询结果 476 实例350 查询前10名数据 476 实例351 取出数据统计结果的后10名数据 478 实例352 查询销售量占前50%的图书信息 479 实例353 查询库存数量占后20%的图书信息 480 10.6 周期、日期查询 481 实例354 查询指定日期的数据 481 实例355 查询指定时间段的数据 482 实例356 按年、月或日查询数据 484 10.7 比较、逻辑、重复查询 486 实例357 利用运算符查询指定条件的数据 486 实例358 NOT与谓词进行组合条件的查询 488 实例359 查询时不显示重复记录 489 实例360 列出数据表中的重复记录和记录条数 491 10.8 在查询中使用OR和AND运算符 492 实例361 利用OR运算符进行查询 492 实例362 利用AND运算符进行查询 493 实例363 同时利用OR、AND运算符进行查询 495 10.9 排序、分组统计 496 实例364 数据分组统计(单列) 497 实例365 在分组查询中使用ALL关键字 498 实例366 在分组查询中使用CUBE运算符 500 实例367 在分组查询中使用ROLLUP运算符 502 实例368 对数据进行降序查询 503 实例369 对数据进行多条件排序 505 实例370 对统计结果进行排序 506 实例371 按仓库分组统计图书库存(多列) 507 实例372 多表分组统计 508 实例373 使用COMPUTE 509 实例374 使用COMPUTE BY 511 10.10 聚合函数 512 实例375 利用聚合函数SUM对销售额进行汇总 512 实例376 利用聚合函数AVG求某班学生的平均年龄 514 实例377 利用聚合函数MIN求销售额、利润最少的商品 515 实例378 利用聚合函数MAX求月销售额完成最多的员工 517 实例379 利用聚合函数COUNT求日销售额大于某值的商品数 518 实例380 利用聚合函数First或Last求数据表中第一条或最后一条记录 519 10.11 多表查询(连接查询) 521 实例381 利用FROM子句进行多表查询 521 实例382 使用表别名 522 实例383 合并多个结果集 523 10.12 嵌套查询 525 实例384 简单嵌套查询 525 实例385 复杂嵌套查询 526 实例386 嵌套查询在查询统计中的应用 528 10.13 子查询 530 实例387 用子查询做派生的表 530 实例388 用子查询作表达式 531 实例389 在Update语句中应用子查询 532 10.14 联合语句Union 533 实例390 使用联合查询 533 实例391 多表联合查询 535 实例392 对联合查询后的结果进行排序 536 10.15 内联接查询 537 实例393 简单内联接查询 538 实例394 复杂内联接查询 539 实例395 使用内联接选择一个表与另一个表中行相关的所有行 540 10.16 外联接查询 541 实例396 左外联接查询 541 实例397 右外联接查询 543 实例398 使用外联接进行多表联合查询 544 10.17 利用IN进行查询 545 实例399 用IN查询表中的记录信息 545 实例400 使用IN引入子查询限定查询范围 546 10.18 交叉表查询 547 实例401 利用Trasform分析数据 547 实例402 利用Trasform动态分析数据 549 实例403 静态交叉表(SQLServer 2000) 551 实例404 动态交叉表(SQLServer 2000) 553 10.19 函数查询 555 实例405 在查询语句中使用格式化函数 555 实例406 在查询语句中使用字符串函数 557 实例407 在查询中使用日期函数 558 10.20 having语句应用 559 实例408 利用having语句过滤分组数据 559 实例409 having语句应用在多表查询中 561 10.21 视图的应用 562 实例410 在C#中应用视图 562 实例411 获取数据库中的全部用户视图 563 实例412 通过视图修改数据 564 10.22 存储过程的应用 565 实例413 C#应用存储过程 565 实例414 应用存储过程添加数据 566 实例415 应用存储过程修改数据 567 实例416 应用存储过程删除数据 568 实例417 C#应用查询存储过程 569 实例418 获取数据库中的全部存储过程 570 实例419 加密存储过程 571 10.23 触发器的应用 572 实例420 Insert触发器的应用 572 实例421 Update触发器在系统日志中的应用 574 实例422 触发器的嵌套使用 575 实例423 获取数据库中的触发器 576 第11章 LINQ查询技术 577 11.1 使用LINQ技术操作SQL数据库 578 实例424 使用LINQ技术查询SQL数据库中的数据 578 实例425 使用LINQ技术向SQL数据库中添加数据 581 实例426 使用LINQ技术在SQL数据库中修改数据 582 实例427 使用LINQ技术在SQL数据库中删除数据 583 实例428 使用LINQ技术查询前5名数据 584 实例429 使用LINQ技术对数据进行排序 585 实例430 使用LINQ技术统计员工的工资总额 587 11.2 LINQ技术其他应用 588 实例431 使用LINQ技术获取文件详细信息 588 实例432 使用LINQ技术对XML文件进行操作 589 第12章 报表与打印技术 594 12.1 Windows打印组件 595 实例433 打印窗体中的数据 595 实例434 图形打印 597 12.2 利用报表生成器设计报表 598 实例435 利用报表专家设计并显示学生基本信息 598 实例436 分组统计报表 601 实例437 在水晶报表中添加图表 602 12.3 水晶报表基本操作 605 实例438 在水晶报表中使用Access数据库 605 实例439 在水晶报表中使用SQL Server数据库 606 实例440 订货总金额超过10万元显示“恭喜获奖”文字 607 实例441 薪资大于或等于1万元使用蓝色字体标记 609 实例442 筛选薪资大于2000元的男员工 610 实例443 按类别分组统计图书库存 611 实例444 按成绩总分降序排序 612 实例445 部门销售量占公司总销售量的业绩百分比 613 12.4 子报表的使用 614 实例446 插入子报表 615 实例447 编辑与重新导入子报表 615 实例448 根据需要显示子报表 617 12.5 调用Office进行打印 618 实例449 利用Word打印员工报表 618 实例450 利用Excel打印学生信息报表 620 第13章 图表技术 622 13.1 简单图表 623 实例451 绘制面形图 623 实例452 绘制椭圆 624 实例453 绘制矩形 625 实例454 绘制曲线 626 实例455 绘制柱形图 627 13.2 柱形图表 628 实例456 将汇总数据利用图表分析 628 实例457 柱形图表分析商品走势 630 实例458 对排序数据进行分析 632 实例459 利用控件实现柱形图分析 633 实例460 在柱形图的指定位置显示说明文字 634 13.3 折线图表 635 实例461 利用图表分析产品销售走势 635 实例462 利用图表分析彩票中奖情况 637 实例463 多曲线数据分析 638 实例464 网站人气指数曲线分析 641 13.4 饼形图表 643 实例465 利用饼形图分析公司男女比率 643 实例466 利用饼形图分析产品市场占有率 644 实例467 利用多饼形图分析企业人力资源情况 645 实例468 制作一个可以旋转的饼形图 647 13.5 图表技术的应用 648 实例469 绘制验证码 649 实例470 在饼形图的外围显示说明文字 650 第14章 硬件相关开发技术 655 14.1 串口控制 656 实例471 通过串口发送数据 656 实例472 通过串口关闭对方计算机 657 14.2 加密狗 659 实例473 密码写入与读出加密狗 659 实例474 使用加密狗进行身份验证 661 14.3 IC卡应用 662 实例475 向IC卡中写入数据 662 实例476 读取IC卡中的数据 665 实例477 利用IC卡制作考勤程序 666 14.4 指纹识别器应用 667 实例478 将指纹数据存入数据库中 667 实例479 使用指纹识别器进行员工考勤 669 14.5 监控 671 实例480 简易视频程序 671 实例481 摄像头监控录像 674 实例482 超市摄像头定时监控系统 675 14.6 语音卡控制 677 实例483 语音卡电话呼叫系统 677 实例484 客户来电查询系统 682 实例485 语音卡实现电话录音 683 14.7 手机程序开发 685 实例486 利用短信猫收发短信息 685 实例487 利用短信远程关闭计算机 688 实例488 短信息采集烟草销售数据 690 实例489 “春晚”节目评比短信息互动平台 692 14.8 其他程序 693 实例490 条形码扫描器销售商品 693 实例491 利用神龙卡制作练歌房程序 694 第15章 网络开发技术 697 15.1 计算机设置 698 实例492 通过计算机名获取IP地址 698 实例493 通过IP地址获取主机名称 699 实例494 修改本机IP地址 700 实例495 得到本机MAC地址 702 实例496 获得系统打开的端口和状态 703 实例497 更改DNS地址 705 15.2 远程控制 706 实例498 远程控制计算机 706 实例499 远程服务控制 708 15.3 网络复制文件 710 实例500 网络中的文件复制 710 15.4 局域网管理 712 实例501 在局域网内发送信息 712 实例502 获取网络中所有工作组名称 714 实例503 列出工作组中所有计算机 715 实例504 获取网络中某台计算机的磁盘信息 716 实例505 映射网络驱动器 718 15.5 网络连接与通信 719 实例506 编程实现Ping操作 719 15.6 网络聊天室 721 实例507 利用C#设计聊天程序 721 实例508 点对点聊天室 723 第16章 Web编程 726 16.1 浏览器应用 727 实例509 制作自己的网络浏览软件 727 实例510 XML数据库文档的浏览 730 16.2 上网控制 732 实例511 定时上Internet 732 实例512 监测当前网络连接状态 734 16.3 邮件管理 734 实例513 收取电子邮件 735 实例514 SMTP协议发送电子邮件 738 16.4 网上信息提取 739 实例515 提取并保存网页源码 739 实例516 提取网页标题 742 第17章 加密、安全与软件注册 744 17.1 数据加密与解密 745 实例517 数据加密技术 745 实例518 文本文件加密与解密 746 实例519 利用图片加密文件 750 17.2 Access数据库安全 753 实例520 如何编程修复Access数据库 753 实例521 访问带验证模式的SQL Server 2000数据库 754 17.3 软件注册与加密 756 实例522 利用INI文件对软件进行注册 756 实例523 利用注册表设计软件注册程序 758 实例524 利用网卡序列号设计软件注册程序 760 实例525 根据CPU序列号、磁盘序列号设计软件注册程序 762 第18章 数据结构与算法 765 18.1 链表的实现 766 实例526 单向链表的实现 766 18.2 双向链表 770 实例527 双向链表 770 18.3 堆栈 775 实例528 堆栈的实现 775 18.4 队列 777 实例529 队列的实现 777 18.5 树的实现 778 实例530 树的实现 778 18.6 排序 782 实例531 冒泡排序 783 实例532 选择排序 783 实例533 插入排序 784 实例534 希尔排序 785 18.7 常见算法的实际应用 786 实例535 判断素数的算法 786 实例536 加密和解密算法 787 实例537 判断身份证是否合法 788 实例538 判断IP地址是否合法的算法 790 实例539 按要求生成指定位数编号 791 实例540 身份证号从15位升到18位算法 791 实例541 百钱百鸡的算法 792 实例542 韩信点兵的算法 793 实例543 实现裴波那契数列求和 794 实例544 求水仙花数的算法 795 实例545 如何将B转换成GB、MB和KB 796 实例546 0~N位数的任意组合 796 实例547 在数组中快速查找近似值 799 第19章 C#高级开发 800 19.1 Windows服务开发 801 实例548 将局域网聊天程序开发成Windows服务 801 19.2 Remoting分布式开发 807 实例549 运用Remoting实现文件传送 807 实例550 大规模数据访问时缓解服务器压力 813 19.3 COM+服务开发 819 实例551 COM+服务实现银行转账系统 819 实例552 COM+服务解决同时访问大量数据并发性 823 第20章 实用工具 827 20.1 数据库工具 828 实例553 自动配置ODBC的程序 828 实例554 制作SQL Server提取器 831 20.2 个人工具 833 实例555 个人通讯录 833 实例556 电子名片盒 835 实例557 个人日记本 836 实例558 个人理财管理 838 20.3 实用工具 840 实例559 电话区号、邮编管理软件 840 实例560 IP地址及手机号码归属地查询 841 实例561 火车时刻查询软件 844 实例562 网站网址导航程序 847 20.4 其他工具 850 实例563 人民币金额转换 850 实例564 列举局域网SQL服务器 852 实例565 整点报时程序 853 实例566 红绿灯程序 854 实例567 万年历 857 实例568 彩票抽奖机 859 实例569 电子相册 860 第21章 程序打包 863 21.1 最简单的程序打包 864 实例570 最简单的程序打包 864 实例571 将特定文件安装到指定文件夹中 866 21.2 打包注册表信息 868 实例572 打包注册表信息 868 技术要点对应实例位置 871

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧