怎样将一个可视控件的图像COPY到一个IMAGE中?

biihc2000 2002-09-10 06:01:52
我想将一个可视控件的图像在其Visible = false时仍能Copy到一个Image控件中,或者说令一个可视控件直接画到Image中?
请各位帮帮忙,给点意见!
...全文
24 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hawk_sun 2002-09-10
  • 打赏
  • 举报
回复
Image1->Canvas->Lock();
Button1->PaintTo(Image1->Canvas->Handle ,0,0 );
Image1->Canvas->Unlock();
但当Button1->Visible=false;

用PaintTo可以实现,但是PaintTo会把原先的背景擦掉,但是上面的代码可能有问题!虽然调用 Image1->Canvas->Lock();来保护背景,但是同时由于保护你可能不能真绘制出来!因为这种保护只是防止其他的线程对画布的写操作。一旦上锁,你的下面那一句不可能会被执行。

所以正确的做法:
Button1->PaintTo(Image1->Canvas->Handle ,0,0 );
//紧接着重绘画布上原有的东西。
//最后设置BUtton1的属性,可以改其Visible!
说明:用PaintTo绘制后,按钮还是按钮,不是图形!




bluebird97073 2002-09-10
  • 打赏
  • 举报
回复
用PaintTo()


Image1->Canvas->Lock();
Button1->PaintTo(Image1->Canvas->Handle ,0,0 );
Image1->Canvas->Unlock();
但当Button1->Visible=false;
本文档不准备面面俱到地介绍DataGridView,而是着眼于深入地介绍一些技术点的高级特性。 本文档按逻辑分为5个章节,首先是结构和特性的概览,其次是内置的列/单元格类型的介绍,再次是数据操作相关的内容,然后是主要特性的综述,最后是最佳实践。 大部分章节含有一个“Q & A”部分,来回答该章节相关的一些常见问题。注意,某些问题会由于知识点的关联性重复出现在多个章节。这些问题、答案及其附带的示例代码都包含在本文档的附录部分。 一、DataGridView技术点的高级特性。 11 1 何为DataGridView 11 1.1 DataGridView和DataGrid 之间的区别 11 1.2 DataGridView的亮点 12 2 DataGridView的结构 13 2.1 结构元素(Architecture Elements) 13 2.2 单元格和组(Cells and Bands) 13 2.3 DataGridView的单元格 (DataGridViewCell) 13 2.3.1 DataGridViewCell的工作机制 14 2.3.2 常见问题 15 2.4 DataGridView的列(DataGridViewColumn) 16 2.5 DataGridView的编辑控件(Editing Controls) 16 2.6 DataGridViewRow 17 2.6.1 常见问题 17 3 列/单元格类型揭密(column/cell types) 17 3.1 DataGridViewTextBoxColumn 18 3.2 DataGridViewCheckBoxColumn 19 3.3 DataGridViewImageColumn 19 3.4 DataGridViewButtonColumn 19 3.5 DataGridViewComboBoxColumn 20 3.5.1 DataError事件和ComboBox列 20 3.5.2 常见问题 20 3.6 DataGridViewLinkColumn 21 4 操作数据(Working with Data) 21 4.1 数据输入和验证的相关事件 21 4.1.1 数据验证相关事件的顺序 21 4.1.2 验证数据 22 4.1.3 在新行的数据输入(Data Entry in the New Row) 22 4.1.3.1 显示新行 22 4.1.3.2 为生成的新行添加默认值 22 4.1.3.4 在新行输入数据 23 4.1.3.5 自定义新行的可视化效果 23 4.1.3.6 新行的排序 24 4.1.3.7 关于新行,还要注意: 24 4.1.3.8 Virtual Mode下的新行 24 4.2 关于Null值 24 4.2.1 NullValue属性 24 4.2.2 DataSourceNullValue属性 25 4.3 DataError事件 25 4.4 数据绑定模式(Databound modes) 26 4.4.1 非绑定模式(Unbound Mode) 26 4.4.2 绑定模式(Bound Mode) 26 4.4.2.1 有效的数据源 27 4.4.3 虚拟模式 27 4.4.4 混合模式 – 绑定与非绑定模式 27 4.4.5 常见问题 28 5 特性综览(Overview of features) 28 5.1 样式(Styling) 28 5.1.1 The DataGridViewCellStyle Class 29 5.1.2 Using DataGridViewCellStyle Objects 29 5.1.3 Style Inheritance 30 5.1.4 Setting Styles Dynamically 34 5.2 Custom painting 35 5.2.1 Paint Parts 35 5.3.1 在Windows窗体DataGridView控件调整大小选项 39 5.3.2 Resizing with the Mouse用鼠标调整大小 42 5.3.3 Automatic Sizing自动调整大小 43 5.3.4 Programmatic Resizing编程调整大小 45 5.3.5 Customizing Content-based Sizing Behavior自定义基于内容的调整大小行为 46 5.3.6 Content-based Sizing Options基于内容的调整大小选项 47 5.4 Selection modes选择模式 47 5.4.1 Programmatic Selection编程选择 49 5.5 滚动(Scrolling) 49 5.5.1 Scroll event Scroll事件 49 5.5.2 Scroll bars滚动条 50 5.5.3 Scrolling Properties滚动属性 50 5.6 Sorting排序 50 5.6.1 Programmatic Sorting编程排序 52 5.6.2 Custom Sorting自定义排序 53 5.6.3 Common questions and scenarios常见问题及案例 54 5.7 Border styles边框样式 55 5.7.1 Standard Border Styles标准边框样式 55 5.7.2 Advanced Border Styles高级边框风格 56 5.8 Enter-Edit modes输入,编辑模式 57 5.9 Clipboard copy modes剪贴板拷贝模式 58 5.10 Frozen columns/rows冻结的列/行 60 5.11 Implementing Custom cells and editing controls/cells实现自定义和编辑控制单元格/单元格 60 5.11.1 IDataGridViewEditingControl 接口 61 5.11.2 IDataGridViewEditingCell 接口 61 5.12 Virtual mode虚拟模式 61 5.12.1 Bound Mode and Virtual Mode绑定模式和虚拟模式 62 5.12.2 Supplementing Bound Mode补充绑定模式 62 5.12.3 Common questions and scenarios常见问题及案例 62 5.12.4 Replacing Bound Mode更换绑定模式 63 5.12.5 Virtual-Mode Events虚拟模式事件 63 5.12.6 Best Practices in Virtual Mode在虚拟模式下的最佳实践 66 5.13 容量(Capacity) 66 6 最佳实践(Best Practices) 67 6.1 Using Cell Styles Efficiently使用高效单元格样式 67 6.2 Using Shortcut Menus Efficiently使用高效快捷菜单 68 6.3 Using Automatic Resizing Efficiently使用自动调整大小高效 69 6.4 Using the Selected Cells, Rows, and Columns Collections Efficiently高效使用选定的单元格,行和列的集合 69 6.5 Using Shared Rows 使用共享行 70 6.6 Preventing Rows from Becoming Unshared 防止行成为非共享 72 附录 A – FAQ 75 1. 如何使指定的单元格不可编辑? 75 2. 如何让一个单元格不可用(disable)? 75 3. 如何避免用户将焦点设置到指定的单元格? 77 4. 如何使所有单元格总是显示控件(不论它是否处于编辑状态)? 77 5. Why does the cell text show up with “square” characters where they should be new lines(TODO,未能实现该效果)? 78 6. 如何在单元格内同时显示图标和文本? 78 7. 如何隐藏一列? 80 8. 如何避免用户对列排序? 81 9. 如何针对多个列排序? 81 9.1 将数据绑定到DataGridView时 81 9.2 Unbound DataGridView 取消绑定 82 9.2.1 Custom Sorting Using the SortCompare Event 使用排序结束时间实现用户自定义排序 82 9.2.2 Custom Sorting Using the IComparer Interface使用IComparer接口实现自定义排序 84 10. 如何为编辑控件添加事件处理函数? 86 11. 应在何时移除编辑控件的事件处理函数? 87 12. 如何处理ComboBox列控件的SelectIndexChanged事件? 87 13. 如何通过拖放调整行的顺序? 87 14. 如何调整最后一列的宽度使其占据网格的剩余客户区? 89 15. 如何让TextBox类型的单元格支持换行? 89 16. 如何使Image列不显示任何图像(字段值为null时)? 90 17. 如何能够在ComboBox类型的单元格输入数据? 90 18. How do I have a combo box column display a sub set of data based upon the value of a different combo box column(TODO)? 91 19. 如何在用户编辑控件的时候(而不是在验证时)就显示错误图标? 92 20. 如何同时显示绑定数据和非绑定数据? 94 21. How do I show data that comes from two tables(TODO)?如何显示来自两个数据源的数据? 96 22. 如何显示主从表? 97 23. 如何在同一DataGridView显示主从表? 99 24. 如何避免用户对列排序? 99 25. 如何在点击工具栏按钮的时候将数据提交到数据库? 99 26. 如何在用户删除记录时显示确认对话框? 99
《C#全能速查宝典》共分为8章,分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程常用的属性、方法、类和各种技术,每一个知识点都配有具体的示例,便于读者理解。 《C#全能速查宝典》所讲的知识点按照功能和字母进行排序,读者既可以按照功能顺序查找,又可以按照字母顺序学习。 《C#全能速查宝典》不仅适合C#程序设计初学者,也可作为、高级程序开发人员的参考手册。 ============================================================ 图书目录 第1章 C#语言基础 1 1.1 常用概念、关键字及基础类 1 1.1.1 abstract关键字——抽象 1 1.1.2 as操作符——引用类型转换 3 1.1.3 base关键字——从派生类访问基类的成员 3 1.1.4 变量——存储特定类型的数据 4 1.1.5 Console类——控制台的输入流、输出流和错误流 6 1.1.6 Convert类——类型转换 8 1.1.7 常量——值不改变的量 9 1.1.8 Dispose方法——释放资源 10 1.1.9 迭代器——相同类型的值的有序序列的一段代码 10 1.1.10 泛型——处理算法和数据结构 11 1.1.11 分部类——将一个类分成几部分 12 1.1.12 is操作符——检查变量是否为指定的类型 14 1.1.13 lock关键字——锁定 15 1.1.14 namespace关键字——定义命名空间 15 1.1.15 new运算符——创建一个新的类型实例 16 1.1.16 Object类型——所有类型的基类 17 1.1.17 OOP技术——面向对象编程技术 18 1.1.18 ReadLine方法——从当前流读取一行字符 20 1.1.19 typeof运算符——获得系统原型对象的类型 21 1.1.20 using关键字——引入命名空间 22 1.1.21 WriteLine方法——写入流 23 1.2 数学方法类——Math 25 1.2.1 Abs方法——返回指定数字的绝对值 25 1.2.2 Acos方法——返回余弦值为指定数字的角度 26 1.2.3 Asin方法——返回正弦值为指定数字的角度 26 1.2.4 Atan方法——返回正切值为指定数字的角度 27 1.2.5 Pow方法——返回指定数字的指定次幂 27 1.2.6 Round方法——将小数值舍入到指定的精度 28 1.3 流程控制语句 29 1.3.1 break语句——跳出循环 29 1.3.2 case语句——比较表达式以确定结果 30 1.3.3 continue语句——继续执行下一个循环 31 1.3.4 do…while语句——循环语句 31 1.3.5 for语句——循环语句 32 1.3.6 foreach语句——枚举一个集合的元素 33 1.3.7 goto语句——跳转到标签 34 1.3.8 if…else语句——条件判断语句 36 1.3.9 return语句——返回 38 1.3.10 switch case语句——条件判断语句 39 1.3.11 throw语句——显式引发异常 40 1.3.12 try…catch…finally语句——捕捉异常 42 1.3.13 while语句——循环语句 43 1.4 字符串处理 44 1.4.1 AddDays方法——添加天数 44 1.4.2 AddString方法——添加文本字符串 45 1.4.3 Compare方法——比较两个字符串 46 1.4.4 CompareTo方法——比较两个字符串对象 47 1.4.5 DATEADD函数——在指定日期上加一段时间 48 1.4.6 DateDiff方法——获取日期时间的间隔数 48 1.4.7 DateTime结构——表示时间上的一刻 50 1.4.8 DAY函数——返回日期部分的整数 51 1.4.9 DayOfWeek属性——获取星期几 52 1.4.10 Equals方法——比较两个字符串对象 53 1.4.11 First函数——返回查询结果的第一个记录 55 1.4.12 FirstDayOfWeek属性——获取或设置一周的第一天 56 1.4.13 Format方法——格式化字符串 56 1.4.14 GETDATE函数——返回当前系统日期和时间 58 1.4.15 GetDayOfMonth方法——返回几号 59 1.4.16 GetDayOfWeek方法——返回星期几 59 1.4.17 GetDayOfYear方法——返回第几天 60 1.4.18 GetDaysInMonth方法——返回指定月份的天数 60 1.4.19 GetDaysInYear方法——返回指定年份的天数 61 1.4.20 GetMonth方法——返回指定日期的月份 61 1.4.21 GetMonthsInYear方法——返回指定年份的月数 62 1.4.22 GetText方法——检索文本数据 63 1.4.23 GetYear方法——返回指定日期的年份 64 1.4.24 IndexOf方法——确定指定字符在字符串的索引 65 1.4.25 IsLeapYear方法——判断年份是否为闰年 67 1.4.26 IsMatch方法——搜索正则表达式匹配项 67 1.4.27 IsUpper方法——判断是否大写 68 1.4.28 Join方法——串联字符串 69 1.4.29 LastIndexOf方法——确定字符在字符串最后索引 70 1.4.30 Matches方法——检查字符串是否有重复的词出现 71 1.4.31 MONTH函数——返回指定日期月部分的整数 73 1.4.32 PadLeft方法——在左边用空格填充 73 1.4.33 PadRight方法——在右边用空格填充 74 1.4.34 Random类——伪随机数生成器 75 1.4.35 Regex类——正则表达式 76 1.4.36 Split方法——分割字符串 78 1.4.37 String类——字符串 79 1.4.38 StringBuilder类——可变字符串 82 1.4.39 Substring方法——截取字符串 83 1.4.40 TimeSpan对象——表示时间间隔或持续时间 84 1.4.41 ToInt32方法——转换为32位有符号整数 85 1.4.42 ToLongDateString 方法——转换为长日期字符串 86 1.4.43 ToLongTimeString 方法——转换为长时间字符串 87 1.4.44 ToLower方法——转换为小写 87 1.4.45 ToShortDateString方法——转换为短日期字符串 88 1.4.46 ToShortTimeString方法——转换为短时间字符串 88 1.4.47 ToString方法——转换为字符串 89 1.4.48 ToUpper方法——转换为大写 90 1.4.49 Trim方法——移除所有空白字符 91 1.4.50 TrimEnd方法——从尾部移除匹配项 92 1.4.51 TrimStart方法——从开始移除匹配项 92 1.4.52 YEAR函数——返回指定日期的年份的整数 93 1.5 数组与集合 93 1.5.1 Add方法——添加项 93 1.5.2 ArrayList类——集合 95 1.5.3 AsEnumerable方法——转换为IEnumerable类型 97 1.5.4 Clear方法——清空内容 98 1.5.5 Contains方法——确定是否包含某项 99 1.5.6 ContainsKey方法——确定哈希表是否包含特定键 100 1.5.7 ContainsText方法——确定剪贴板是否存在数据 101 1.5.8 ContainsValue方法——确定哈希表是否包含特定值 101 1.5.9 Count属性——获取数目 102 1.5.10 GetEnumerator方法——循环访问对象 103 1.5.11 GetEnvironmentVariables方法——检索环境变量 104 1.5.12 Hashtable类——哈希表 106 1.5.13 Insert方法——插入项 110 1.5.14 Item属性——获取或设置指定索引处的元素 111 1.5.15 Length属性——获取长度 112 1.5.16 Next方法——返回一个指定范围内的随机数 113 1.5.17 Queue类——队列 115 1.5.18 Remove方法——移除指定项 116 1.5.19 RemoveAt方法——移除指定索引处的项 118 1.5.20 Replace方法——替换文件或字符串 119 1.5.21 Reverse方法——反转数组元素 120 1.5.22 Sort方法——数组排序 121 1.5.23 Stack类——堆栈 123 第2章 Windows窗体及常用控件 126 2.1 Form窗体 126 2.1.1 AcceptButton属性——设置接受按钮 126 2.1.2 Activate事件——当激活窗体时发生 126 2.1.3 Appllication类——提供管理应用程序的静态方法 126 2.1.4 CancelButton属性——设置取消按钮 128 2.1.5 Computer类——提供操作计算机组件的属性 129 2.1.6 ComputerInfo类——获取计算机信息 130 2.1.7 Control类——定义控件基类 131 2.1.8 Environment类——提供当前环境和平台的信息 134 2.1.9 Form窗体——可视化界面 136 2.1.10 FormClosed事件——关闭窗体后事件 139 2.1.11 FormClosing事件——关闭窗体前事件 139 2.1.12 Icon属性——设置图标 139 2.1.13 IsMdiContainer属性——设置父窗体 140 2.1.14 LayoutMdi方法——排列子窗体 141 2.1.15 Load事件——窗体加载事件 141 2.1.16 MaximizeBox属性——是否显示最大化按钮 142 2.1.17 Maximum属性——设置数字显示框的最大值 142 2.1.18 MDI窗体——多文档界面 143 2.1.19 MdiChildren属性——获取子窗体的数组 146 2.1.20 MdiParent属性——设置父窗体 147 2.1.21 MinimizeBox属性——是否显示最小化按钮 147 2.1.22 Minimum属性——数字显示框的最小值 148 2.1.23 Opacity属性——设置窗体的透明度级别 148 2.1.24 Owner属性——设置窗体所有者 149 2.1.25 StartPosition属性——设置窗体起始位置 150 2.1.26 StartupPath 属性——获取可执行文件路径 150 2.1.27 TopMost属性——窗体是否应显示为最顶层窗体 151 2.1.28 WindowState属性——窗体的窗口状态 151 2.2 文本类控件 152 2.2.1 AllowEdit属性——是否可以编辑列表项 152 2.2.2 AppendText方法——追加文本 152 2.2.3 BeginEdit方法——将单元格置于编辑模式下 153 2.2.4 Button控件——按钮控件 153 2.2.5 CancelEdit属性——取消更改 155 2.2.6 CanPaste方法——是否可以粘贴数据 155 2.2.7 CanRedo属性——是否有可以重新应用的操作 156 2.2.8 CanSelect属性——是否可以选控件 157 2.2.9 CanUndo属性——能否撤销上一个操作 157 2.2.10 Cut方法——将选定内容移动到“剪贴板” 158 2.2.11 Find方法——搜索指定的项目 158 2.2.12 FindString方法——搜索文本 160 2.2.13 Label控件——标签控件 161 2.2.14 LabelEdit属性——允许用户编辑控件数据 163 2.2.15 LinkLabel控件——以超链接形式显示文本 164 2.2.16 MaskedTextBox控件——使用掩码区分用户输入 166 2.2.17 Multiline属性——是否为多行输入数据 169 2.2.18 PasswordChar属性——取代用户输入而显示的字符 170 2.2.19 Redo方法——重新应用控件上次撤销的操作 171 2.2.20 RichTextBox控件——有格式文本控件 171 2.2.21 Select方法——激活控件 173 2.2.22 SelectAll方法——选定所有文本 176 2.2.23 Selected属性——是否选定 176 2.2.24 SelectedCells属性——用户选定的单元格集合 177 2.2.25 SelectedColumns属性——用户选定的列集合 178 2.2.26 SelectedRows属性——用户选定的行集合 179 2.2.27 SelectionBackColor属性——文本在选时的颜色 180 2.2.28 SelectionColor属性——插入点的文本颜色 180 2.2.29 SelectionEnd属性——设置选定日期范围的结束日期 181 2.2.30 SelectionFont属性——选定文本或插入点的字体 182 2.2.31 SelectionIndent属性——所选内容开始行的缩进距离 183 2.2.32 SelectionLength属性——控件选定的字符数 184 2.2.33 SelectionRange 属性——设置选定的日期范围 185 2.2.34 SelectionStart属性——选择的起始位置的字符索引 185 2.2.35 TextBox控件——输入或显示文本 186 2.2.36 TextChanged事件——Text属性值更改时发生 187 2.3 选择类控件 188 2.3.1 CheckBox控件——复选框控件 188 2.3.2 CheckBoxes属性——是否显示复选框 190 2.3.3 Checked属性——复选框是否处于选状态 190 2.3.4 CheckedChanged事件——Checked属性更改时发生 191 2.3.5 CheckedListBox控件——复选框列表控件 191 2.3.6 CheckState属性——设置CheckBox控件的状态 193 2.3.7 ComboBox控件——下拉组合框控件 194 2.3.8 DomainUpDown控件——上下选择控件 195 2.3.9 DropDownStyle属性——指定组合框样式的值 197 2.3.10 GetItemCheckState方法——当前项的复选状态的值 198 2.3.11 GetItemText方法——指定项的文本表示形式 199 2.3.12 Index属性——从零开始的索引 200 2.3.13 Items属性——数组列表对象的项的集合 200 2.3.14 ListBox控件——列表控件 201 2.3.15 ListView控件——显示带图标的项列表 205 2.3.16 NumericUpDown控件——数值选择控件 208 2.3.17 RadioButton控件——单选按钮 210 2.3.18 SelectedIndex属性——获取选择项的索引 212 2.3.19 SelectedIndices属性——表示当前选的项 213 2.3.20 SelectedItem属性——当前选的项 214 2.3.21 SelectedItems属性——选定项的集合 215 2.3.22 SelectedText属性——选定文本 216 2.4 容器类控件 217 2.4.1 FlatStyle属性——设置控件的平面样式外观 217 2.4.2 FlowDirection属性——指示FlowLayoutPanel控件的流向 217 2.4.3 FlowLayoutPanel控件——水平或垂直排列内容 218 2.4.4 GroupBox控件——分组控件 219 2.4.5 Panel控件——容器控件 220 2.4.6 TabControl控件——选项卡控件 222 2.4.7 TabIndex属性——控件的Tab键顺序 224 2.4.8 TabPages属性——选项卡页的集合 224 第3章 Windows高级控件 226 3.1 日期时间类控件 226 3.1.1 CalendarFont属性——日历的字体样式 226 3.1.2 CalendarForeColor属性——日历的前景色 226 3.1.3 DateTimePicker控件——日期和日历的组合 226 3.1.4 MaxDate属性——最大日期和时间 228 3.1.5 MinDate属性——最小日期和时间 228 3.1.6 MonthCalendar控件——以网格形式显示日历 229 3.1.7 SetDate方法——将日期设置为当前选定的日期 231 3.1.8 ShowToday属性——是否显示当前日期 232 3.2 对话框、菜单、工具栏及状态栏控件 232 3.2.1 ColorDialog控件——颜色对话框 232 3.2.2 ContextMenuStrip控件——右键快捷菜单 233 3.2.3 ExpandAll方法——展开所有树节点 233 3.2.4 Filter属性——设置筛选器字符串 234 3.2.5 FolderBrowserDialog控件——浏览文件夹对话框 234 3.2.6 Font属性——设置字体 235 3.2.7 FontDialog控件——字体对话框 235 3.2.8 InitialDirectory属性——文件对话框显示的初始目录 237 3.2.9 MenuStrip控件——菜单控件 238 3.2.10 Nodes属性——树节点集合 241 3.2.11 OpenFileDialog控件——打开文件对话框 241 3.2.12 RestoreDirectory属性——是否还原当前目录 244 3.2.13 RootFolder属性——设置浏览的根文件夹 245 3.2.14 SaveFileDialog组件——保存文件对话框 246 3.2.15 SelectedNode属性——获取选定的树节点 248 3.2.16 SelectedPath属性——用户选定的路径 249 3.2.17 ShowDialog方法——打开模式对话框 249 3.2.18 ToolStrip控件——工具栏控件 251 3.2.19 TreeNode类——树节点 252 3.2.20 TreeView控件——树控件 254 3.3 数据绑定类控件 256 3.3.1 BindingNavigator控件——导航和操作数据 256 3.3.2 Cell对象——表示Word文档的单元格 258 3.3.3 CellClick事件——单元格的任何部分被单击时发生 259 3.3.4 CellEnter事件——控件接收到输入焦点时发生 260 3.3.5 CellMouseClick事件——鼠标单击单元格时发生 261 3.3.6 CellLeave事件——单元格失去输入焦点时发生 261 3.3.7 Cells属性——Bookmark控件的表单元格 261 3.3.8 ColumnCount属性——DataGridView控件显示的列数 262 3.3.9 Columns属性——控件所有列的集合 262 3.3.10 ColumnWidth属性——ListBox列的宽度 263 3.3.11 CurrentCell属性——设置当前处于活动状态的单元格 263 3.3.12 CurrentRow属性——包含当前单元格的行 263 3.3.13 DataGridView控件——数据控件 264 3.3.14 FullRowSelect属性——是否选择其所有子项 268 3.3.15 GetCellCount方法——获取满足筛选器的单元格数目 269 3.3.16 GetColumn方法——指定子控件的列位置 270 3.3.17 NewRow方法——添加一条新记录 270 3.3.18 RowCount方法——DataGridView显示的行数 271 3.3.19 Rows属性——DataGridView控件的所有行 272 3.4 打印类控件 273 3.4.1 CrystalReportViewer控件——水晶报表查看控件 273 3.4.2 Document属性——设置要预览的文档 280 3.4.3 PageSetupDialog组件——配置页面的对话框 281 3.4.4 Print方法——打印当前页面 283 3.4.5 PrintDialog组件——打印对话框 283 3.4.6 PrintDocument组件——设置打印的文档 286 3.4.7 PrinterSettings属性——打印机设置 291 3.4.8 PrintPage事件——当需要为当前页打印的输出时发生 292 3.4.9 PrintPreviewControl组件——按文档打印时的外观显示Print Document组件 292 3.4.10 PrintPreviewDialog组件——显示PrintDocument组件在打印时的外观 295 3.4.11 PrinterSettings类——用来指定有关文档打印方式的信息 297 3.4.12 Zoom属性——指示页面的显示大小 300 3.5 其他常用组件 300 3.5.1 BackgroundWorker组件——在主线程的另一线程上异步执行耗时的操作 300 3.5.2 ErrorProvider控件——检查并显示错误信息 302 3.5.3 EventLog组件——连接本地和远程计算机的事件日志 303 3.5.4 HelpProvider组件——将帮助文件与Windows应用程序相关联 306 3.5.5 HScrollBar控件——一个标准Windows水平滚动条 309 3.5.6 Image属性——显示在控件上的图像 311 3.5.7 ImageAlign属性——在控件显示的图像的对齐方式 312 3.5.8 ImageFormat类——指定图像的格式 312 3.5.9 ImageList组件——用于存储图像 314 3.5.10 ImageList属性——在控件显示的图像ImageList 316 3.5.11 Interval属性——设置Timer控件执行的间隔 317 3.5.12 NotifyIcon控件——设置程序的系统托盘图标 317 3.5.13 PerformStep方法——按照Step属性的数量增加进度栏的当前位置 319 3.5.14 PictrueBox控件——用于显示指定的图像 320 3.5.15 Play方法——播放.wav文件 323 3.5.16 ProgressBar控件——进度条 323 3.5.17 SetError方法——设置错误信息 326 3.5.18 SetShowHelp方法——是否显示帮助信息 327 3.5.19 SetToolTip方法——设置提示文本 328 3.5.20 Step属性——增加进度条的当前位置时所根据的数量 328 3.5.21 Stop方法——停止加载网页 329 3.5.22 Tick事件——计时器处于启用状态时发生 330 3.5.23 Timer组件——定期引发事件的组件 330 3.5.24 ToolTip控件——显示提示信息 332 3.5.25 ToolTipIcon属性——提示文本旁显示的图标类型 333 3.5.26 ToolTipText属性——ToolTip显示的文本 334 3.5.27 ToolTipTitle属性——工具提示窗口的标题 334 3.5.28 TrackBar控件——标准的Windows跟踪条 335 3.5.29 Url属性——引用服务说明的URL 337 3.5.30 VscrollBar控件——标准的Windows垂直滚动条 337 3.5.31 WebBrowser控件——在窗体显示网页 339 3.5.32 Windows Media Player控件——播放常见的音频文件 343 第4章 控件公共属性、方法及事件 347 4.1 控件公共属性 347 4.1.1 BackColor属性——设置控件的背景色 347 4.1.2 BackgroudColor属性——设置控件背景色 347 4.1.3 BackgroudImage属性——设置控件背景图像 347 4.1.4 Border属性——控件边框 348 4.1.5 BorderStyle属性——控件的边框样式 349 4.1.6 Bottom属性——控件下边缘与其容器的工作区上边缘之间的距离 349 4.1.7 CanFocus属性——控件是否可以接收焦点 350 4.1.8 Capture属性——控件是否已捕获鼠标 350 4.1.9 Color属性——设置用户选定的颜色 350 4.1.10 Dock属性——控件在窗体的布局样式 351 4.1.11 Enabled属性——控件是否可用 352 4.1.12 ForeColor属性——设置控件的前景色 352 4.1.13 Handle属性——获取控件绑定到的窗口句柄 352 4.1.14 Height属性——设置控件的高度 353 4.1.15 KeyChar属性——设置与按下的键对应的字符 354 4.1.16 KeyValue属性——获取KeyDown或KeyUp事件的键盘值 355 4.1.17 Lines属性——设置多行配置的文本行 355 4.1.18 Location属性——控件的左上角相对于其容器的左上角的坐标 356 4.1.19 Name属性——控件或实例的名称 356 4.1.20 Parent属性——设置控件的父容器或获取指定子目录的父目录 357 4.1.21 Position属性——设置坐标 358 4.1.22 ReadOnly属性——是否只读 359 4.1.23 Right属性——控件右边缘与其容器的工作区左边缘之间的距离 359 4.1.24 RightToLeft属性——控件的文本从右向左读取 360 4.1.25 ScrollBars属性——滚动条的可见性和位置 360 4.1.26 SizeMode属性——指示如何显示图像 361 4.1.27 Tag属性——窗体或控件的标识 362 4.1.28 Text属性——与控件关联的文本 362 4.1.29 TextAlign 属性——控件上文本的对齐方式 363 4.1.30 Top属性——控件上边缘与其容器的工作区上边缘之间的距离 364 4.1.31 Value属性——辅助性对象的值 364 4.1.32 View属性——项在控件的显示方式 365 4.1.33 Visible属性——控件是否可见 366 4.1.34 Width属性——控件的宽度 366 4.2 控件公共方法 367 4.2.1 BringToFront方法——将控件带到Z顺序的前面 367 4.2.2 Focus方法——为控件设置输入焦点 367 4.2.3 GetClipboardContent方法——检索选定单元格内容的格式化值 368 4.2.4 GetParent方法——检索指定路径的父目录 368 4.2.5 Hide方法——隐藏窗体 369 4.2.6 Load方法——加载XML文档 369 4.2.7 LoadFile方法——将文件加载到RichTextBox控件 371 4.2.8 Navigate方法——打开指定的URL地址 372 4.2.9 Refresh方法——重新加载当前的网页 373 4.2.10 SaveAs方法——用新名称或新格式保存文档 373 4.2.11 SaveFile方法——将内容保存到文件 374 4.2.12 Show方法——显示光标或者打开新窗体 375 4.2.13 UpButton方法——按照指定数值递增 376 4.3 控件公共事件 377 4.3.1 Click事件——单击控件时触发该事件 377 4.3.2 Enter事件——光标进入控件时发生 378 4.3.3 KeyDown事件——控件有焦点按下键时发生 378 4.3.4 KeyPress事件——控件有焦点按下键时发生 380 4.3.5 KeyUp事件——控件有焦点释放键时发生 381 4.3.6 Leave事件——输入焦点离开控件时发生 381 4.3.7 MouseClick事件——用户单击控件时发生 382 4.3.8 Navigated事件——加载新文档时发生 383 4.3.9 Paint事件——重绘或更新控件时发生 383 第5章 数据库开发 385 5.1 SQL语言基础 385 5.1.1 AVG聚合函数——返回组值的平均值 385 5.1.2 CAST函数——数据类型显式转换 385 5.1.3 COUNT函数——返回组的项的数量 386 5.1.4 Last函数——返回查询结果的最后一个记录 386 5.1.5 MAX函数——返回表达式的最大值 388 5.1.6 MIN函数——返回表达式的最小值 388 5.1.7 newid函数——创建uniqueidentifier类型的惟一值 389 5.1.8 SUM函数——返回表达式所有值的和 389 5.1.9 UPDATE语句——更改表的现有数据 390 5.2 ADO.NET技术 392 5.2.1 Command对象——对数据源执行增、删、改、查操作 392 5.2.2 CommandText属性——获取设置SQL语句或存储过程 393 5.2.3 CommandTimeout属性——获取或设置错误等待时间 393 5.2.4 CommandType属性——获取或设置如何解释CommandText属性 394 5.2.5 Connection对象——数据库连接对象 394 5.2.6 ConnectionState枚举——数据库连接状态 395 5.2.7 DataAdapter类——数据库桥接器 396 5.2.8 DataMember属性——获取或设置数据源列表或表名称 398 5.2.9 DataReader类——只读数据集 398 5.2.10 DataSet类——数据集 400 5.2.11 DataSource属性——获取或设置数据源 402 5.2.12 ExecuteNonQuery方法——执行SQL语句并返回受影响的行数 402 5.2.13 ExecuteReader方法——执行SQL语句并返回DataReader对象 403 5.2.14 ExecuteScalar方法——执行SQL语句并返回结果集第1行的第1列 404 5.2.15 Fill方法——填充数据集 405 5.2.16 Merge方法——合并数据集 407 5.2.17 Parameters属性——获取SqlParameterCollection 409 5.2.18 ReadXml方法——将XML架构和数据读入数据集 410 5.2.19 SelectCommand属性——获取或设置选择记录命令 411 5.2.20 SQL注入式攻击——利用设计上的漏洞攻击SQL 412 5.2.21 SqlCommand类——SQL执行命令 413 5.2.22 SqlConnection类——SQL数据库连接对象 415 5.2.23 SqlDataAdapter类——SQL数据库桥接器 416 5.2.24 SqlDataReader类——SQL只读数据集 418 5.2.25 Tables属性——获取包含在数据集的表的集合 421 5.2.26 Update方法——使控件重绘工作区内的无效区域 422 5.2.27 UpdateCommand属性——获取或设置更新记录命令 423 5.2.28 WriteXml方法——将数据集数据写入到XML 423 5.3 LINQ技术 424 5.3.1 Lambda表达式——匿名函数 424 5.3.2 LINQ技术——语言集成查询 426 5.3.3 LinqToDataSet技术——LINQ操作数据集 427 5.3.4 LinqToObjects技术——LINQ操作数组和集合 429 5.3.5 LinqToSql技术——LINQ操作SQL数据库 431 5.3.6 LinqToXml技术——LINQ操作XML文件 436 5.3.7 var关键字——根据初始化语句推断变量类型 439 第6章 文件、数据流与注册表 441 6.1 文件与I/O数据流 441 6.1.1 ASCII码——键盘的一种表示方式 441 6.1.2 ASCIIEncoding类——ASCII字符编码的操作类 442 6.1.3 Attributes属性——获取和设置文件的属性 443 6.1.4 BinaryReader类——将特定的数据读作二进制值 445 6.1.5 BinaryWriter类——将二进制值写入到流 447 6.1.6 CanRead属性——判断当前流是否支持读写 448 6.1.7 Close方法——释放所有关联的资源 449 6.1.8 Copy方法——文件的复制 450 6.1.9 CopyFile方法——将文件复制到新的位置 451 6.1.10 CopyTo方法——将指定的字符串复制到字符数组 452 6.1.11 Create方法——创建文件 455 6.1.12 CreateDirectory方法——创建指定路径的所有目录 456 6.1.13 CreateText方法——创建或打开文本文件 456 6.1.14 CreationTime属性——获取或设置文件的创建时间 457 6.1.15 CryptoStream类——将数据流连接到加密转换的流 457 6.1.16 Delete方法——删除文件 461 6.1.17 Directory类——对文件夹进行操作的类 463 6.1.18 DirectoryEntry类——封装节点或对象 464 6.1.19 DirectoryInfo类——对文件夹进行操作的类 466 6.1.20 DirectoryName属性——获取路径 468 6.1.21 DirectorySearcher组件——执行查找 468 6.1.22 DriveInfo类——驱动器的信息访问 469 6.1.23 Encoding属性——获取编码方式 470 6.1.24 Exists方法——判断文件是否存在 471 6.1.25 Exists属性——判断文件是否存在 472 6.1.26 Extension属性——获取文件扩展名 473 6.1.27 File类——对文件进行操作的类 473 6.1.28 FileAttributes枚举——提供文件和目录的属性 475 6.1.29 FileInfo类——文件的操作类 476 6.1.30 FileName属性——获取或设置文件的名称 478 6.1.31 FileStream类——对文件流操作的类 478 6.1.32 Flush方法——清除流的缓冲区 480 6.1.33 GetBytes方法——将字符串编码设为字节序列 481 6.1.34 GetDirectories方法——获取子目录的名称 482 6.1.35 GetExtension方法——获取路径字符串的扩展名 485 6.1.36 GetFiles方法——获取目录的文件名称 486 6.1.37 GetFileSystemEntries方法——获取目录的所有名称 487 6.1.38 GetFileSystemInfos方法——获取所有文件的信息 489 6.1.39 GetStream方法——返回用于发送和接收的数据 491 6.1.40 GetString方法——将字节解码成字符串 491 6.1.41 HasRows属性——指示 OleDbDataReader是否有数据 493 6.1.42 MD5CryptoServiceProvider类——操作MD5的类 493 6.1.43 MemoryStream类——创建其支持存储区为内存的流 495 6.1.44 Move方法——文件的移动 497 6.1.45 MoveNext方法——移动到下一个字符 497 6.1.46 MoveTo方法——文件的移动 498 6.1.47 NetworkStream类——网络访问的基础数据流 500 6.1.48 Open方法——打开文件 502 6.1.49 OpenFile方法——以只读方式打开文件 503 6.1.50 OpenText方法——打开UTF-8编码文本文件 504 6.1.51 Path属性——监视的目录的路径 505 6.1.52 Peek方法——返回下一个可用的字符 506 6.1.53 Read方法——读取数据流 507 6.1.54 ReadBytes方法——将指定的字节读入字节数组 508 6.1.55 ReadToEnd方法——从流的当前位置读到末尾 509 6.1.56 Stream类——对数据流进行操作的类 510 6.1.57 StreamReader类——数据流的读取类 512 6.1.58 StreamWriter类——数据流的写入类 513 6.1.59 TextReader类——读取连续字符的读取器 515 6.1.60 TextWriter类——编写一个有序字符系列的编写器 516 6.1.61 Write方法——将流写入到文件 517 6.2 注册表技术 521 6.2.1 CreateSubKey方法——创建或打开子项 521 6.2.2 GetValue方法——获取注册表项的值 522 6.2.3 GetValueNames方法——所有值名称的字符串数组 523 6.2.4 GetSubKeyNames方法——所有子项名称字符串数组 525 6.2.5 OpenSubKey方法——以只读方式检索子项 525 6.2.6 Registry类——注册表操作类 528 6.2.7 RegistryKey类——表示Windows注册表的项级节点 529 6.2.8 SetValue方法——设置注册表项的指定名称/值对 531 第7章 GDI+绘图技术 532 7.1 GDI+绘图基础 532 7.1.1 Bitmap类——图像对象 532 7.1.2 Cursor类——绘制光标指针图像 533 7.1.3 GDI+——图形图像的绘制 535 7.1.4 Graphics类——绘图类 536 7.1.5 GraphicsPath类——一系列相互连接的直线和曲线 540 7.1.6 Icon类——图标的操作类 542 7.1.7 Image类——图像的操作类 543 7.1.8 LinearGradientBrush类——线性渐变封装Brush 545 7.1.9 Region类——由矩形和路径构成的图形形状的内部 547 7.1.10 SolidBrush类——定义单色画笔 548 7.2 常用绘图方法 549 7.2.1 Draw方法——绘制光标 549 7.2.2 DrawArc方法——绘制圆弧 550 7.2.3 DrawBezier方法——绘制贝塞尔样条 551 7.2.4 DrawEllipse方法——绘制椭圆 553 7.2.5 DrawImage方法——绘制Image图像 555 7.2.6 DrawLine方法——绘制直线 556 7.2.7 DrawPath方法——绘制GraphicsPath图形路径 558 7.2.8 DrawPie方法——绘制扇形 558 7.2.9 DrawPolygon方法——绘制多边形 560 7.2.10 DrawRectangle方法——绘制矩形 561 7.2.11 DrawString方法——绘制文本字符串 562 7.3 常用填充图像方法 565 7.3.1 FillEllipse方法——填充椭圆 565 7.3.2 FillPath方法——填充GraphicsPath的内部 566 7.3.3 FillPie方法——填充扇形 567 7.3.4 FillPolygon方法——填充多边形 568 7.3.5 FillRectangle方法——填充矩形框 570 7.3.6 FillRegion方法——填充一个区域 572 7.4 其他常用方法 572 7.4.1 Clone方法——创建Bitmap对象的某个部分的副本 572 7.4.2 CreateGraphics方法——创建Graphics对象 574 7.4.3 FromArgb方法——从ARGB值创建Color结构 574 7.4.4 FromFile方法——从指定的文件创建Image 577 7.4.5 FromImage方法——从Image创建新的Graphics对象 578 7.4.6 FromStream方法——数据流创建Image 578 7.4.7 GetPixel方法——获取图像的像素颜色 580 7.4.8 GetThumbnailImage方法——Image的缩略图 581 7.4.9 Save方法——将图片以文件的形式进行复制 583 7.4.10 SetPixel方法——设置图像的像素颜色 583 7.4.11 Transform方法——对路径的数据点进行变换 584 第8章 C#高级编程 586 8.1 网络编程技术 586 8.1.1 Accept方法——为新建连接创建新的Socket对象 586 8.1.2 AcceptSocket方法——接收挂起的连接请求 586 8.1.3 BeginConnect方法——开始远程主机连接的异步请求 587 8.1.4 Dns类——从Internet域名系统检索特定主机的信息 588 8.1.5 GetHostAddresses方法——返回主机的IP地址 589 8.1.6 GetHostByAddress方法——创建IPHostEntry实例 590 8.1.7 GetHostByName方法——获取指定DNS主机名的信息 591 8.1.8 GetHostName方法——获取本地计算机的主机名 592 8.1.9 IPEndPoint类——将网络端点表示为IP地址和端口号 592 8.1.10 IPHostEntry类——为主机地址信息提供容器类 594 8.1.11 Listen方法——将Socket置于侦听状态 596 8.1.12 MachineName属性——读取或写入事件的计算机名称 596 8.1.13 MailMessage类——邮件的操作类 597 8.1.14 Net send命令——用net send命令进行发送 598 8.1.15 Net use命令——实现映射网络驱动器 599 8.1.16 Ping类——网络访问远程计算机的操作类 601 8.1.17 POP3协议——POP邮件的操作类 603 8.1.18 Receive方法——由远程主机发送的UDP数据报 608 8.1.19 Send方法——将数据发送到连接的Socket 609 8.1.20 SerialPort类——控制串行端口文件资源 610 8.1.21 SMTP协议——进行邮件的传输 612 8.1.22 SmtpClient类——将电子邮件发送到SMTP服务器 614 8.1.23 Socket类——网络通信的操作类 616 8.1.24 TcpClient类——为TCP网络服务提供客户端连接 618 8.1.25 TcpListener类——从TCP网络客户端侦听连接 619 8.1.26 UdpClient类——用户数据报(UDP)网络服务 620 8.1.27 WebClient类——URI标识的资源发送和接收 623 8.1.28 WebRequest类——访问Internet数据 625 8.1.29 WebResponse类——协议特定的响应类 629 8.2 多线程编程 630 8.2.1 Abort方法——终止线程 630 8.2.2 BeginInvoke方法——线程上异步执行委托 631 8.2.3 EndInvoke方法——异步操作的返回值 632 8.2.4 Join方法——确保线程已终止 633 8.2.5 Kill方法——强制关闭进程 633 8.2.6 Process类——对正在计算机上运行的进程的访问 635 8.2.7 Sleep方法——线程挂起 640 8.2.8 Start方法——启动进程 640 8.2.9 Thread类——创建并控制线程的类 642 8.2.10 ThreadState属性——获取当前线程的状态 645 8.3 WMI技术——系统管理 646 8.3.1 MainWindowTitle属性——获取进程的主窗口标题 646 8.3.2 ManagementClass类——公共信息模型管理类 647 8.3.3 ManagementObject类——表示WMI实例 648 8.3.4 ManagementObjectSearcher类——查询检索管理对象 650 8.3.5 ManagementScope类——管理操作的范围 651 8.3.6 Microsoft.Win32命名空间——操作注册表类 652 8.3.7 WndProc方法——处理Windows消息 654 8.4 其他高级技术 655 8.4.1 Children属性——获取节点的子项 655 8.4.2 COM+服务——为类的实例提供服务 655 8.4.3 DirectShow技术——流媒体处理的一个开发包 656 8.4.4 DLL组件——动态链接库 663 8.4.5 MVC开发模式——模型视图控制器 664 8.4.6 VFW技术——视频应用程序提供的软件工具包 666 8.4.7 XML——定义其他标识语言的元标识语言 668 8.4.8 XmlReader类——XML读取器 670 8.4.9 XmlWriter类——XML编写器 673 附录——字母索引 676
本书全面介绍了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保存到      XML442  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
2.ASP.NET.2.0.高级编程(第4版) [1/7] 原书名: Professional ASP.NET 2.0 原出版社: Wrox 作者:(美)Bill Evjen, Scott Hanselman, Farhan Muhammad [同作者作品] [作译者介绍] 译者: 李敏波[同译者作品] 出版社:清华大学出版社 ISBN:7302139067 上架时间:2006-11-16 出版日期:2006 年11月 开本:185×260 页码:1090 版次:4-1 内容简介回到顶部↑本书全面介绍了ASP.NET各种编程技能和2.0版的巨大变化,并详细阐述了2.0版的每个新特性。书提供了大量的实例,可帮助读者快速掌握如何在.NET平台下开发功能强大的ASP.NET应用程序。本书适合有一些基础的ASP.NET初级程序员以及准备迁移到ASP.NET 2.0的编程老手。该书与《ASP.NET 2.0入门经典(第4版)》及其早期版本,曾影响到无数国Web程序员。. ASP.NET允许Web站点为每个访问者显示独一无二的页面,而不是显示相同的静态HTML页面。ASP.NET 2.0的发布,使Web应用程序的开发又前进了一大步。这个新版本增加了大量的新功能,减少了编写常见应用程序所需的代码量。 ASP.NET 2.0新增了50多个新服务器控件,类的数量也翻了一倍,其他许多方面也有很大的变化。本书介绍了ASP.NET 2.0的每个新增特性和功能,以便读者把这些新技术应用于实践。.. 本书主要内容 ● 服务器控件的概念及其在ASP.NET开发的主导作用 ● 使用新的Master页面特性创建模板化的ASP.NET页面 ● 调试和处理错误的技术 ● 提取、创建、处理和存储XML的各种框架 ● 打包和部署ASP.NET应用程序的方法 ● 快速、逻辑地检索、更新和删除数据 本书读者对象 本书适合于有一些ASP.NET基础知识的学习者以及准备迁移到ASP.NET 2.0的有经验的程序员和开发人员。 目录回到顶部↑ 第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页面的新IDE 16 1.5 小结 17 第2章 Visual Studio 2005 19 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 Explorer 26 2.5 Server Explorer 28 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 验证HTML 34 2.8.6 团队的合作 36 2.8.7 使用代码片断 36 2.9 小结 38 第3章 应用程序和页面框架 39 3.1 应用程序的位置选项 39 3.1.1 内置的Web服务器 39 3.1.2 IIS 40 3.1.3 FTP 41 3.1.4 Web站点需要FrontPage Extensions 42 3.2 ASP.NET页面结构选项 43 3.2.1 内置编码 44 3.2.2 新的后台编码模型 46 3.3 ASP.NET 2.0的Page指令 48 3.3.1 @Page 49 3.3.2 @Master 51 3.3.3 @Control 52 3.3.4 @Import 53 3.3.5 @Implements 54 3.3.6 @Register 55 3.3.7 @Assembly 55 3.3.8 @PreviousPageType 56 3.3.9 @MasterType 56 3.3.10 @OutputCache 56 3.3.11 @Reference 57 3.4 ASP.NET页面的事件
网上只能找到tinyeditor的英文版本,对于国内用户还是不太方便,自己动手汉化了一下,并且将编码改成了gbk,希望可以帮助有需要的朋友。 下面是关于tinyeditor的介绍(摘自网络): 前几日曾给大家介绍过一款国产的xhtml编辑器,今天要给大家推荐的TinyEditor,是国外知名Web设计博客leigeber.com刚发布的一款简洁且易用的html所见即所得编辑器。 TinyEditor有以下特点 •它使用Javascript编写,不依赖于其它类库 •这是一个轻量级的编辑器,要调用的文件仅有8kb •它可以处理大多数的html格式化需求,并且内置的功能使得生成的标记尽量简洁 •编辑器用到的小图标使用了CSS Sprite技术,减少了http连接 •在主流浏览器测试通过 •可个人或商业项目使用,遵循creative commons license 下面来看如何使用: 1,在网页文件引用TinyEditor提供的js文件和css文件 2,在网页文件添加编辑器所需要的标签,其实就是个textarea,如下 <textarea id="input" height:200px"></textarea> 注意textarea定义的长宽也就是编辑器的大小。 3,通过脚本初始化编辑器,并配置各种参数,如下: new TINY.editor.edit('editor',{ id:'input', // (必须)上面第二步定义的textarea的id width:584, // (选填) 编辑器宽度 height:175, // (选填) 编辑器高度 cssclass:'te', // (选填) 编辑器的class,用来通过css控制样式 controlclass:'tecontrol', // (选填) 编辑器上按钮的class rowclass:'teheader', // (选填) 编辑器按钮行的class dividerclass:'tedivider', // (选填) 编辑器按钮间分割线的样式 controls:['bold', 'italic', 'underline', 'strikethrough', '|', 'subscript', 'superscript', '|', 'orderedlist', 'unorderedlist', '|' ,'outdent' ,'indent', '|', 'leftalign', 'centeralign', 'rightalign', 'blockjustify', '|', 'unformat', '|', 'undo', 'redo', 'n', 'font', 'size', 'style', '|', 'image', 'hr', 'link', 'unlink', '|', 'cut', 'copy', 'paste', 'print'], // (必须) 要根据需要在编辑器上添加按钮控件, 其'|'代表功能按钮间的竖分割线,'n'代表按钮行间的分割线 footer:true, // (选填) 是否显示编辑器底部 fonts:['Verdana','Arial','Georgia','Trebuchet MS'], // (选填) 编辑器可选择的字体 xhtml:true, // (选填) 编辑器生成xhtml还是html标记 cssfile:'style.css', // (选填) 要为编辑器附加的外部css文件 content:'starting content', // (选填) 设置编辑器编辑区域的初始内容 css:'body{background-color:#ccc}', // (选填) 设置编辑器编辑区域背景 bodyid:'editor', // (选填) 设置编辑区域ID footerclass:'tefooter', // (选填) 设置编辑器底部class toggle:{text:'源代码',activetext:'可视化',cssclass:'toggle'}, // (选填) 设置源代码浏览切换文字,及切换按钮的class resize:{cssclass:'resize'} // (选填) 设置编辑器大小调整按钮的class }); 可以说的上是高度可配置了,而且配置项都比较清晰。 在TinyEditor的实际应用,需要注意的是,在提交编辑器内容之前,一定调用instance.post()函数,以确保编辑区域最新的可视化内容转化为标记文本。 查看示例:http://sandbox.leigeber.com/tinyeditor/

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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