Figure 1-1
Rendering of SimplePage.aspx 3
Figure 1-2
Events in the page lifecycle 17
Figure 1-3
Binary deployment with aspnet_compiler.exe 25
Figure 1-4
Build | Publish Web Site tool in Visual Studio 2005 25
Figure 1-5
Creating multiple assemblies from the App_Code directory 28
Figure 1-6
Web Application Projects' Solution Explorer window 29
Figure 2-1
Sample templated site 34
Figure 2-2
Master page concept 35
Figure 2-3
Page rendering with a master page 38
Figure 2-4
Designer support for master pages in Visual Studio 2005 39
Figure 2-5
Master page/content page merged hierarchy 40
Figure 2-6
Sample Web site directory structure 45
Figure 2-7
Theme concept 49
Figure 2-8
Applying skins 50
Figure 2-9
Theme application 51
Figure 2-10
Navigation control architecture 55
Figure 2-11
Control adapter architecture 59
Figure 2-12
Browser type hierarchy 65
Figure 3-1
Data-binding process 69
Figure 3-2
Relationship between a data-bound control, a data source control, and a database 71
Figure 3-3
Designer support for declarative data sources and data-bound controls 76
Figure 3-4
Default rendering of GridView with attached SqlDataSource with all options enabled 77
Figure 3-5
Search feature implemented with a filter parameter 84
Figure 3-6
Master-detail showing reviews associated with the selected film 87
Figure 3-7
Default rendering of DetailsView in ReadOnly, Edit, and Insert modes 89
Figure 3-8
Nested declarative data binding in action 94
Figure 3-9
TreeView with TreeNodeBinding rendering 101
Figure 3-10
Rendering of nested hierarchical data binding 102
Figure 3-11
ObjectDataSource model 104
Figure 3-12
Simple data source bound to BulletedList with ObjectDataSource 105
Figure 4-1
Multipanel page 128
Figure 4-2
Wizard control, unadorned, and with SideBar and formatting 130
Figure 5-1
Login controls in the toolbox 154
Figure 5-2
Creating a new user 155
Figure 5-3
Logging in 156
Figure 5-4
Logged in 156
Figure 5-5
Provider architecture 159
Figure 5-6
Customizing the login control 163
Figure 5-7
The ChangePassword control 168
Figure 5-8
The CreateUserWizard control 170
Figure 5-9
Security roles in the ASPNETDB database 176
Figure 5-10
Switching views 179
Figure 6-1
Sample portal page running 195
Figure 6-2
Portal components in ASP.NET 2.0 196
Figure 6-3
Minimal portal page running 200
Figure 6-4
Web Parts with menu (displayed for authenticated clients) 201
Figure 6-5
Customizing Web Parts in design view 203
Figure 6-6
Adding Web Parts using a catalog 206
Figure 6-7
Editing Web Part properties using the editor zone 212
Figure 6-8
Custom verb in a Web Part 213
Figure 6-9
Connecting producer Web Parts to consumer Web Parts 217
Figure 6-10
BehaviorEditorPart appearance for modifying behavioral properties of Web Parts when in shared scope 220
Figure 6-11
Exporting a Web Part 223
Figure 6-12
Interface for importing Web Parts from .webpart files 224
Figure 6-13
Portal appearance with WebPartZone styles applied 226
Figure 6-14
Interaction between the EditorZone control and the SqlPersonalizationProvider 233
Figure 7-1
Web event hierarchy 243
Figure 7-2
Built-in Web event providers 246
Figure 7-3
E-mail notification 251
Figure 7-4
Health monitoring configuration 258
Figure 7-5
Funneling System.Diagnostics trace records into ASP.NET tracing 269
Figure 7-6
ETW providers on Windows Server 2003 271
Figure 8-1
SQL cache dependencies in SQL Server 7/2000 287
Figure 8-2
SQL cache dependencies in SQL Server 2005 288
Figure 8-3
Post-cache substitution 299
Figure 8-4
Client callback architecture 303
Figure 8-5
On-demand TreeView displaying numbers from the Fibonacci sequence 308
Figure 9-1
Synchronous page performing multiple independent tasks 311
Figure 9-2
Time taken to process a page with sequential data retrieval 314
Figure 9-3
Time taken to process a page with parallel data retrieval 315
Figure 9-4
Asynchronous Web requests in asynchronous pages 321
Figure 9-5
Interdependent asynchronous tasks 325
Figure 9-6
Asynchronous page flow of control 327