Introduction |
|
xvii | |
Acknowledgments |
|
xxv | |
|
Introduction to ASP.NET 2.0 |
|
|
1 | (22) |
|
|
2 | (1) |
|
|
2 | (7) |
|
|
3 | (3) |
|
Administration and management |
|
|
6 | (1) |
|
Performance and scalability |
|
|
7 | (1) |
|
Device-specific code generation |
|
|
8 | (1) |
|
Additional New Features of ASP.NET 2.0 |
|
|
9 | (10) |
|
New developer infrastructures |
|
|
9 | (6) |
|
|
15 | (1) |
|
Additions to the page framework |
|
|
15 | (3) |
|
New objects for accessing data |
|
|
18 | (1) |
|
|
18 | (1) |
|
A New IDE for Building ASP.NET 2.0 Pages |
|
|
19 | (2) |
|
|
21 | (2) |
|
|
23 | (18) |
|
|
23 | (6) |
|
Views in the Document Window |
|
|
23 | (2) |
|
|
25 | (1) |
|
|
25 | (1) |
|
Code change status notifications |
|
|
26 | (1) |
|
Error notifications and assistance |
|
|
27 | (2) |
|
|
29 | (2) |
|
|
31 | (2) |
|
|
33 | (1) |
|
|
33 | (1) |
|
|
34 | (1) |
|
Other Common Visual Studio Activities |
|
|
34 | (6) |
|
|
35 | (1) |
|
Making references to other objects |
|
|
35 | (2) |
|
|
37 | (1) |
|
Saving and importing Visual Studio settings |
|
|
38 | (2) |
|
|
40 | (1) |
|
Application and Page Frameworks |
|
|
41 | (34) |
|
Application Location Options |
|
|
41 | (4) |
|
|
41 | (2) |
|
|
43 | (1) |
|
|
44 | (1) |
|
Web site requiring FrontPage Extensions |
|
|
45 | (1) |
|
The ASP.NET Page Structure Options |
|
|
45 | (6) |
|
|
47 | (2) |
|
|
49 | (2) |
|
|
51 | (2) |
|
|
51 | (1) |
|
|
52 | (1) |
|
|
53 | (1) |
|
|
54 | (7) |
|
|
61 | (8) |
|
|
61 | (5) |
|
|
66 | (1) |
|
|
66 | (3) |
|
|
69 | (4) |
|
|
73 | (2) |
|
|
75 | (52) |
|
The New Data Source Controls |
|
|
75 | (1) |
|
The Data-Bound Server Controls |
|
|
76 | (1) |
|
The SqlDataSource and GridView Controls |
|
|
77 | (19) |
|
|
77 | (2) |
|
Applying paging in the GridView |
|
|
79 | (3) |
|
Sorting rows in the GridView control |
|
|
82 | (1) |
|
Defining bound columns in the GridView control |
|
|
83 | (4) |
|
Enabling the editing of rows in the GridView control |
|
|
87 | (5) |
|
Deleting data from the GridView |
|
|
92 | (1) |
|
Dealing with other column types in the GridView |
|
|
93 | (3) |
|
The AccessDataSource and DetailsView Controls |
|
|
96 | (13) |
|
Selecting which fields to display in the DetailsView control |
|
|
101 | (2) |
|
Using the GridView and DetailsView together |
|
|
103 | (2) |
|
Updating, inserting, and deleting rows |
|
|
105 | (4) |
|
|
109 | (5) |
|
|
114 | (2) |
|
SiteMapDataSource Control |
|
|
116 | (1) |
|
DataSetDataSource Control |
|
|
117 | (1) |
|
|
118 | (5) |
|
|
123 | (1) |
|
|
124 | (3) |
|
|
127 | (46) |
|
|
128 | (2) |
|
SiteMapPath Server Control |
|
|
130 | (6) |
|
The PathSeparator property |
|
|
132 | (2) |
|
The Path Direction property |
|
|
134 | (1) |
|
The ParentLevelsDisplayed property |
|
|
134 | (1) |
|
The ShowToolTips property |
|
|
135 | (1) |
|
The SiteMapPath control's child elements |
|
|
135 | (1) |
|
|
136 | (20) |
|
Identifying the TreeView control's built-in styles |
|
|
138 | (1) |
|
Examining the parts of the TreeView control |
|
|
139 | (1) |
|
Binding the TreeView control to an XML file |
|
|
140 | (2) |
|
Selecting multiple options in a TreeView |
|
|
142 | (3) |
|
Specifying custom icons in the TreeView control |
|
|
145 | (2) |
|
Specifying lines used to connect nodes |
|
|
147 | (3) |
|
Working with the TreeView control programmatically |
|
|
150 | (6) |
|
|
156 | (9) |
|
Applying different styles to the Menu control |
|
|
157 | (6) |
|
|
163 | (1) |
|
Binding the Menu control to an XML file |
|
|
163 | (2) |
|
|
165 | (3) |
|
|
165 | (1) |
|
|
166 | (2) |
|
|
168 | (3) |
|
|
171 | (2) |
|
Working with Master Pages |
|
|
173 | (30) |
|
Why Do You Need Master Pages? |
|
|
173 | (3) |
|
The Basics of Master Pages |
|
|
176 | (1) |
|
|
177 | (3) |
|
|
180 | (14) |
|
Mixing page types and languages |
|
|
184 | (2) |
|
Specifying which master page to use |
|
|
186 | (1) |
|
Working with the page title |
|
|
186 | (1) |
|
Working with controls and properties from the master page |
|
|
187 | (7) |
|
Specifying Default Content in the Master Page |
|
|
194 | (2) |
|
|
196 | (3) |
|
Container-Specific Master Pages |
|
|
199 | (1) |
|
|
200 | (1) |
|
Caching with Master Pages |
|
|
201 | (1) |
|
|
201 | (2) |
|
|
203 | (22) |
|
Using ASP.NET 2.0 Packaged Themes |
|
|
203 | (5) |
|
Applying a theme to a single ASP.NET page |
|
|
204 | (1) |
|
Applying a theme to an entire application |
|
|
205 | (1) |
|
Applying a theme to all applications on a server |
|
|
206 | (1) |
|
Removing themes from server controls |
|
|
206 | (1) |
|
Removing themes from Web pages |
|
|
207 | (1) |
|
Removing themes from applications |
|
|
208 | (1) |
|
|
208 | (10) |
|
Creating the proper folder structure |
|
|
208 | (1) |
|
|
209 | (2) |
|
Including CSS files in your themes |
|
|
211 | (3) |
|
Having your themes include images |
|
|
214 | (4) |
|
Defining Multiple Skin Options |
|
|
218 | (2) |
|
Programmatically Working with Themes |
|
|
220 | (1) |
|
Assigning the page's theme programmatically |
|
|
220 | (1) |
|
Assigning a control's SkinID programmatically |
|
|
220 | (1) |
|
Themes and Custom Controls |
|
|
221 | (2) |
|
|
223 | (2) |
|
Membership and Role Management |
|
|
225 | (38) |
|
|
226 | (1) |
|
|
226 | (1) |
|
ASP.NET 2.0 Authentication |
|
|
226 | (21) |
|
Setting up your Web site for membership |
|
|
226 | (3) |
|
|
229 | (7) |
|
|
236 | (4) |
|
Working with authenticated users |
|
|
240 | (2) |
|
Showing the number of users online |
|
|
242 | (2) |
|
|
244 | (3) |
|
ASP.NET 2.0 Authorization |
|
|
247 | (14) |
|
Using the LoginView server control |
|
|
248 | (1) |
|
Setting up your Web site for role management |
|
|
249 | (3) |
|
Adding and retrieving application roles |
|
|
252 | (3) |
|
|
255 | (1) |
|
|
256 | (1) |
|
Getting all the users of a particular role |
|
|
256 | (2) |
|
Getting all the roles of a particular user |
|
|
258 | (1) |
|
Removing users from roles |
|
|
259 | (1) |
|
|
259 | (2) |
|
Using the Web Site Administration Tool |
|
|
261 | (1) |
|
|
262 | (1) |
|
|
263 | (28) |
|
The Personalization Model |
|
|
263 | (1) |
|
Creating Personalization Properties |
|
|
264 | (11) |
|
Adding a simple personalization property |
|
|
265 | (1) |
|
Using personalization properties |
|
|
266 | (4) |
|
Adding a group of personalization properties |
|
|
270 | (1) |
|
Using grouped personalization properties |
|
|
271 | (1) |
|
Defining types for personalization properties |
|
|
271 | (1) |
|
|
272 | (3) |
|
|
275 | (1) |
|
Making personalization properties read-only |
|
|
275 | (1) |
|
Anonymous Personalization |
|
|
275 | (4) |
|
Enabling anonymous identification of the end user |
|
|
275 | (3) |
|
Working with anonymous identification events |
|
|
278 | (1) |
|
Anonymous options for personalization properties |
|
|
279 | (1) |
|
Migrating Anonymous Users |
|
|
279 | (2) |
|
Personalization Providers |
|
|
281 | (9) |
|
Working with the Access personalization provider |
|
|
281 | (1) |
|
Working with the SQL Server personalization provider |
|
|
282 | (7) |
|
|
289 | (1) |
|
|
290 | (1) |
|
Portal Frameworks and Web Parts |
|
|
291 | (32) |
|
|
291 | (2) |
|
Building Dynamic and Modular Web Sites |
|
|
293 | (24) |
|
Introducing the WebPartManager control |
|
|
293 | (1) |
|
Working with zone layouts |
|
|
294 | (4) |
|
Understanding the WebPartZone control |
|
|
298 | (3) |
|
Explaining the WebPartPageMenu control |
|
|
301 | (9) |
|
|
310 | (7) |
|
Working with Classes in the Portal Framework |
|
|
317 | (5) |
|
|
322 | (1) |
|
|
323 | (18) |
|
Caching in ASP.NET 1.0/1.1 |
|
|
323 | (2) |
|
|
323 | (1) |
|
|
324 | (1) |
|
Data caching using the Cache object |
|
|
324 | (1) |
|
|
324 | (1) |
|
ASP.NET 2.0 unseals the CacheDependency class |
|
|
325 | (1) |
|
Using the SQL Server Cache Dependency |
|
|
325 | (6) |
|
Enabling databases for SQL Server cache invalidation |
|
|
326 | (1) |
|
Enabling tables for SQL Server cache invalidation |
|
|
327 | (1) |
|
|
327 | (2) |
|
Looking at the tables that are enabled |
|
|
329 | (1) |
|
Disabling a table for SQL Server cache invalidation |
|
|
329 | (1) |
|
Disabling a database for SQL Server cache invalidation |
|
|
330 | (1) |
|
Configuring your ASP.NET Application |
|
|
331 | (1) |
|
Testing SQL Server Cache Invalidation |
|
|
332 | (7) |
|
Adding more than one table to a page |
|
|
334 | (1) |
|
Attaching SQL Server cache dependencies to the Request object |
|
|
334 | (1) |
|
Attaching SQL Server cache dependencies to the Cache object |
|
|
335 | (4) |
|
|
339 | (2) |
|
|
341 | (28) |
|
BulletedList Server Control |
|
|
341 | (5) |
|
HiddenField Server Control |
|
|
346 | (2) |
|
FileUpload Server Control |
|
|
348 | (3) |
|
MultiView and View Server Controls |
|
|
351 | (4) |
|
|
355 | (6) |
|
Customizing the side navigation |
|
|
357 | (1) |
|
Examining the AllowReturn attribute |
|
|
357 | (1) |
|
Working with the StepType attribute |
|
|
357 | (1) |
|
Adding a header to the Wizard control |
|
|
358 | (1) |
|
Working with the Wizard's navigation system |
|
|
359 | (1) |
|
Utilizing Wizard control events |
|
|
360 | (1) |
|
Dynamiclmage Server Control |
|
|
361 | (5) |
|
Working with images from disk |
|
|
361 | (2) |
|
|
363 | (1) |
|
Displaying images from streams |
|
|
364 | (2) |
|
|
366 | (2) |
|
|
368 | (1) |
|
Changes to ASP.NET 1.0 Controls |
|
|
369 | (18) |
|
|
369 | (2) |
|
Button, LinkButton, and ImageButtonServer Controls |
|
|
371 | (1) |
|
DropDownList, ListBox, CheckBoxList, and RadioButtonList Server Controls |
|
|
372 | (2) |
|
|
374 | (1) |
|
|
374 | (2) |
|
|
376 | (1) |
|
|
376 | (4) |
|
|
380 | (2) |
|
Validation Server Controls |
|
|
382 | (4) |
|
|
386 | (1) |
|
Administration and Management |
|
|
387 | (26) |
|
|
387 | (12) |
|
|
389 | (1) |
|
|
390 | (1) |
|
|
391 | (2) |
|
|
393 | (1) |
|
|
394 | (1) |
|
|
395 | (2) |
|
|
397 | (2) |
|
ASP.NET Web Site Administration Tool |
|
|
399 | (8) |
|
|
401 | (1) |
|
|
402 | (1) |
|
|
403 | (1) |
|
|
404 | (1) |
|
|
405 | (2) |
|
Managing the Site Counter System |
|
|
407 | (3) |
|
|
410 | (3) |
|
Visual Basic 8.0 and C# 2.0 Language Enhancements |
|
|
413 | (18) |
|
|
413 | (1) |
|
|
414 | (5) |
|
|
419 | (2) |
|
|
421 | (1) |
|
|
422 | (1) |
|
|
422 | (3) |
|
Visual Basic XML Documentation |
|
|
425 | (1) |
|
New Visual Basic Keywords |
|
|
426 | (3) |
|
|
426 | (2) |
|
|
428 | (1) |
|
|
428 | (1) |
|
|
429 | (1) |
|
|
429 | (2) |
Index |
|
431 | |