Alex Homer and Dave Sussman, published by Addison Wesley Professional
· Templates for a Consistent Look and Feel
· Styles for Controls
· Securing Your Site
· Personalizing Your Site
· Creating Portals
· Using Images on Your Site
· Using Data on Your Site
· Data Binding
· Binding to Objects
· Binding to Configuration Settings
· Internationalization
· Changes from version 1.x
· Obtaining and installing .NET 2.0
· Running Side-by-Side with 1.x
· Security Accounts
· Upgrading and Deploying Applications
· Installing the Samples
· Summary
· A Day in the Life of a Developer
· Using a Data Source Control and GridView to Display Data
· Enabling Sorting and Paging for the Rows
· Providing a Row Editing Feature
· Adding Filtering to Select Specific Sets of Rows
· Displaying Single Rows in a Form for Editing
· Working with Data Exposed Through a Business Object
· Caching the Data to Reduce Database Access
· Using a Master Page to Give a Consistent Look and Feel
· Adding a Menu and Other Navigation Features
· Summary
· Auto-attached Databases
· User Instancing
· Connection String Placement
· Visual Web Developer and Visual Studio 2005 Database Explorer
· Data Source Controls
· The SqlDataSource Control
· Displaying Data with a GridView control
· Filtering and Selecting Data
· Filter and Select Parameters
· Selecting Data Using the Configuration Wizard
· Selecting Data Declaratively
· Selecting Data in Code
· Updating Data
· Data Display and Edit Controls
· Data Binding to Data Source Controls
· Customizing the GridView Control
· Adding a Custom Pager
· Defining Columns
· Command Columns
· Template Columns
· Styling Columns
· Custom GridView Commands
· Putting it all together – a customized GridView control
· The DetailsView Control
· Defining Fields
· Using a stand-alone DetailsView
· Custom DetailsView Commands
· The FormView Control
· Summary
· Business Layers, Data Layers, or both?
· Object Data Mappers
· Creating a Data Layer
· Creating the Data Class
· Creating Helper Classes
· The ObjectDataSource Control
· Using the ObjectDataSource Control
· Getting the Identity Value of an Inserted Row
· Typed Data Sets
· Using Typed DataSets with the ObjectDataSource Control
· Summary
· Modifying Parameters before Command Execution
· Synchronizing DataSource Controls after Updates
· Accessing Output Parameters after Command Execution
· Output Parameters with the ObjectDataSource Control
· Custom Paging with an ObjectDataSource
· GridView and DetailsView Events
· Handling GridView Update Events
· Handling Data Editing Conflicts
· Asynchronous Pages and Data
· Asynchronous Pages
· Asynchronous Tasks
· SQL Server 2005 User Defined Types
· UDT Attributes
· Serializable Types
· Constructors
· Parsing Values
· Outputting Values
· Handling Null Values
· Adding Properties
· Additions to UDTs
· Creating a UDT in Visual Studio 2005
· Deploying the UDT to SQL Server 2005
· Creating Tables with UDT Columns
· Inserting Data into UDT columns
· Accessing UDT Columns
· Further Reading
· Summary
· Using the Application State
· Using the Session State
· Disabling Session State
· Configuring Session State
· Using HttpContext
· Using ViewState
· Output Caching
· Configuring Output Caching
· Caching Portions of a Page
· Control Caching
· Post Cache Substitution
· Disk Caching
· Configuring Caching
· Data Caching
· SQL Cache Invalidation with SQL Server 2005
· Cache Invalidation Setup
· Cache Invalidation Setup for Non-Administrative Connections
· Query Syntax
· Using SQL Server 2005 Cache Invalidation
· Caching Using Business and Data Layers
· SQL Cache Invalidation with SQL Server 2000
· Enabling SQL Server 2000 for Cache Invalidation
· Enabling a Database for Cache Invalidation
· Enabling a Table for Cache Invalidation
· Configuring SQL Server 2000 Cache Invalidation in ASP.NET
· Using SQL Server 2000 Cache Invalidation in ASP.NET
· How Polling Works
· The Cache API
· Getting Items in the Cache to Expire
· Making Cache Entries Depend Upon External Factors
· Multiple Cache Dependencies
· Being Notified When an Item in the Cache Expires
· When to use Caching
· Summary
· Databinding and Displaying XML Data
· Manually Binding to XML Files
· Using the XmlDataSource Control
· Specifying TreeView Bindings
· Binding Expressions
· Applying Selections
· Using Binding Expressions and Selections
· Transforming XML
· Debugging XSLT in Visual Studio 2005
· Transforming with the XmlDataSource Control
· Transforming in Code
· Working with Raw XML
· Streaming XML
· Reading XML Documents
· Writing XML Documents
· Working with XML Documents in memory
· Using the XPathDocument Object
· Using the XmlDocument Object
· Using the XmlDataDocument Object
· Converting between XML and Relational Data
· Working with SQL Server 2005 XML Data
· Creating XML Columns
· Creating Schemas
· Inserting Data into XML Columns
· Accessing XML Columns from ADO.NET
· Summary
· The ASP.NET Control Set
· Standard HTML Server Controls
· Text and Image Display Controls
· Example: Using the Panel Control
· Example: Using the Table Control and Associated Header Cells
· Hyperlink and Navigation Controls
· Example: The ImageMap Control
· Example: The TreeView Control
· Input and Form Controls
· Example: The FileUpload Control
· Example: The Validation Controls
· List and Grid Controls
· Example: The BulletedList Control
· Example: The ListBox and DropDownList Controls
· Rich Controls
· Example: The Calendar Control
· Example: The Wizard Control
· Container Controls
· Mobile Controls
· Layout Approaches – Tables and Style Sheets
· Choosing the Appropriate Control Type
· The ASP.NET Page and Postback Model
· Differentiating between Postback and Navigate
· The ASP.NET Event-driven Architecture
· Request and Response Information
· Summary
· The HttpRequest, HttpResponse, HttpServerUtility, and HttpContext Classes
· Using the HttpRequest Class
· Using the HttpResponse Class
· Adding Cookies to the Response
· Using the HttpServerUtility Class
· Using the HttpContext Class
· The ASP.NET Page Class
· General Methods and Properties of the Page Class
· Specifying the Client Target
· Managing ViewState
· Handling Errors
· Translating URLs
· Accessing the Intrinsic ASP.NET Objects
· Finding Controls on a Page
· Searching for Specific Control Types
· The FindControl Method
· Writing Trace Information
· Skins and Themes
· Validation
· Page-Level Events
· Client-side Scripting Features
· Creating Client-side Script Sections
· Asynchronous Page Callbacks
· Implementing the Server-side Callback Code
· Sub-classing the Page Object
· Working with Master Pages
· Simple Master Pages
· Nested Master Pages
· Dynamically Setting the Master Page
· Accessing Values and Controls in the Master Page
· Summary
· Simple Navigation with Hyperlinks
· The ASP.NET Hyperlink Control
· Using Access Keys
· Other Controls that Create Hyperlinks
· Navigation with LinkButton Controls
· Using the LinkButton Control
· The CommandName and CommandArgument Properties
· Initiating Client-side Events
· Navigation through Browser Redirection
· Redirection with Client-side Script
· Navigation through Server-side Redirection
· The HttpServerUtility.Transfer Method
· The HttpServerUtility.Execute Method
· Using the Transfer and Execute Methods
· Executing the Target Page
· Transferring to the Target Page
· Exploring the Example Code
· The Code in the Target Page
· Cross Page Posting of Form Contents
· An Example of Cross-Page Posting
· Site Maps, Menus, and Navigation Path Controls
· Site Map Providers
· Site Map Configuration Files
· Using a Site Map File
· Using a TreeView Control with a SiteMapDataSource
· Using a NavigationPath Control with a SiteMapDataSource
· Site Maps in Depth
· Using the Properties of the SiteMapDataSource Control
· Accessing the SiteMap in Code
· Reacting to Events in the Menu, TreeView and SiteMapPath Controls
· Extending the SiteMap
· Summary
· Preventing Anonymous Access to Web Sites
· The ASP.NET Configuration Files
· Security and Access Control Settings in IIS and ASP.NET
· Specifying the Account Used by ASP.NET
· ASP.NET Impersonation
· ASP.NET Authentication and Authorization
· ASP.NET Authentication Settings
· Using Forms Authentication
· The <credentials> Element
· Cookie-less Sessions and Cookie-less Forms Authentication
· ASP.NET Authorization Settings
· ASP.NET Membership Provider and Role Manager
· The ASP.NET Application Database
· ASP.NET Membership Provider Configuration
· Specifying the Database Connection Strings
· Creating and Using Custom Providers
· ASP.NET Role Manager Configuration
· The ASP.NET Web Site Administration Tool
· Creating the ASP.NET Application Database
· Using a Pre-Attached Database
· Troubleshooting ASP.NET Application Database Issues
· Creating and Managing Users and Roles
· Selecting the Providers
· Running the Security Wizard
· Managing Users, Roles, and Access Controls
· Adding Users to Roles
· Setting the SMTP Email Options
· Viewing the ASP.NET Database Contents
· The ASP.NET Security Server Controls
· The Available Control Set
· Using the Security Server Controls
· The Home Page
· The Login Page
· The Secure Area Page
· The New User Page
· Accessing the Membership and Roles Features in Code
· The Membership Class
· The Membership Methods
· The Membership Event
· Validating a User
· The MembershipUser Class
· The MembershipUser Methods
· The Roles Class
· Summary
· Configuring Profiles and Personalization
· Specifying the Profiles and Personalization Providers
· Creating and Modifying the ASP.NET Application Database
· Enabling Profiles and Declaring Profile Properties
· Profile Property Groups
· Custom Profile Property Types
· Anonymous Profiles
· Storing and Using Dynamic Profile Data
· Reading Profile Data
· Storing (Writing) Profile Data
· A Simple Example of Using a Shopping Cart
· Setting the Text Size
· Displaying the Shopping Cart and Adding Items
· Displaying Details of Logged In Users
· Updating the Profile Properties
· Migrating Anonymous Users
· Other Features of the Profile Class
· Using Themes to Personalize Your Site
· What are Themes and Skins?
· Default and Named Skins
· Global Themes and Page Themes
· Creating Themes and Skins
· Using CSS Stylesheets in a Theme
· Using Images in a Theme
· Applying Themes and Skins
· Applying a Theme at Design-time
· Applying a Theme Dynamically at Runtime
· Applying a Named Theme at Design-time or Runtime
· Applying a Theme that Does Not Over-ride Existing Styles and Property Values
· Preventing the Use of Themes and Skins
· An Example of Using Themes
· Saving and Loading the Theme Profile Value
· Using an HTTP Module to Set the Theme
· Summary
· The Goals of the Portal Framework
· Integration with SharePoint and Office Web Parts
· Customization and Personalization
· About the Web Parts Framework
· The Web Part Manager
· Web Part and Authorization
· Zones and Web Parts
· Web Parts
· Implementing Web Parts
· User Controls as Web Parts
· Custom Controls as Web Parts
· Web Part Chrome and Style
· Web Part Verbs
· Catalog Zones
· Importing and Exporting Web Parts
· Editor Zones
· AppearanceEditorPart
· BehaviorEditorPart
· Authorization Filter
· LayoutEditorPart
· PropertyGridEditorPart
· Connecting Web Parts Together
· Implementing Web Part Connections
· Creating the Interface
· Implementing the Interface in the Provider
· Using the Interface in the Consumer
· Connecting Web Parts Together
· User Initiated Connections
· Connecting to Web Parts in Master Pages
· Transformers
· Summary
· Page Validation, Browser Capabilities, and Alternative Content
· Validating Page Content
· Other Validation Services
· XHTML Compliance
· Detecting Browser Capabilities
· Browser Definitions
· The BrowserCapabilities Class
· Browser-Specific Pages and Sites, and Client-Side Code Support
· Detecting Cookie Support
· CSS Support Quirks
· Making Your Pages Easier to Use
· Overall Site and Page Design
· Controls, Captions, Short-cut Keys, and Tab Order
· Linking Captions to Interactive Controls
· Implementing Short-cut Keys
· Setting the Tab Order
· Supporting Disabled Users and Specialist User Agents
· General Techniques for Maximizing Accessibility
· Navigation Accessibility Features
· Identifying Elements
· General Recommendations
· Evaluating and Testing Your Pages and Sites
· Accessibility Features in ASP.NET Controls
· Using Alternate Text and Long Descriptions
· Implementing "D" Links and Alternative Content
· Implementing "Skip-to" Links
· An Example of an Accessible Page
· Viewing the Accessible Page Example in a Text-Only Browser
· Maximizing Accessibility for HTML Tables
· Using Short-cut Keys, Tab Order, and Table Captions
· Adding Accessible Headers to a GridView Control
· Building Pages for Small-screen and Mobile Devices
· Page Design and Device Support
· Creating Pages for Mobile Devices
· Issues to Consider with Mobile Device Web Forms
· The Mobile Web Forms Control Set
· Mobile Device Filters
· Mobile Device Style Sheets
· A Simple Mobile Web Forms Example
· Mobile Browser Emulators
· Supporting Localization and Multiple Languages
· Code-Free Localization
· Using Implicit Expressions and Local Resources
· Using Explicit Expressions
· Using Global Application Resources
· Localizing Static Content
· Exempting Controls from Localization
· Hiding Controls at Runtime
· What Expression Type to Use, and When?
· User-Selectable Localization
· Programmatic Access to Resources
· Extensibility
· Web Resources
· Summary
· The Example Application
· Configuring the Example on Your Machine
· Using a Remote SMTP Server
· Setting Disk Access Permissions
· The User Interface of the Example Application
· Using the MultiView Control
· Styling and Dynamically Populating a TreeView Control
· Storing Data with the System.Collections Classes
· ArrayLists
· Stacks and Queues
· Sorted Lists, HashTables and Dictionary-based collections
· How the Example Returns Values
· Serializing a Collection
· Generic Collections
· Reading, Writing, and Compressing Data with the System.IO Classes
· Working with Streams, StreamReaders, and StreamWriters
· Reading Drive, Folder, and File Information
· Reading Drive Information
· Reading Folder and File Information
· Writing Files to the File System
· Reading Text and Binary Files from the File System
· Compressing Data
· Creating Graphics and Images with the System.Drawing Classes
· Creating Images with the System.Drawing Classes
· Accessing the Internet with the System.Net Classes
· Retrieving Web Pages
· Performing DNS Lookups
· Sending Email with the System.Net.Mail Classes
· Sending Text and HTML Email Messages
· Validating Email Addresses
· Sending Email Messages with Text Attachments
· Sending Email Messages with Binary Attachments
· Accessing Active Directory with the System.DirectoryServices Classes
· Getting a List of Users
· Encrypting Data with the System.Security.Cryptography Classes
· Using TripleDES Encryption
· Summary
· Standards and Interoperability
· Creating Web Services
· Web Service Attributes
· Testing Web Services
· Testing a Method that Returns Data
· Testing a Method that Accepts Data
· Caching and State
· Creating Asynchronous Web Services
· Consuming Web Services
· Calling Web Services Asynchronously
· Handling Errors
· Controlling How Data is Transferred in Web Services
· Customizing Serialization
· Serializing Collections
· Manual Serialization
· Web Service Enhancements
· The WSE 3.0 Toolkit
· The Future of Web Services
· Summary