Day 1
Architecture
This module explores the ASP.NET engine and how it's designed to process HTTP requests. We show the extensibility model of HttpHandlers and how ASP.NET pages build upon this architecture. We explore the page compilation model, code behind and how it affects page development. We conclude with the various approaches to application deployment including precompilation.
Web Forms
Web Forms is the server side object model which facilitates page development. We'll examine this server side object model as well as that of the server side controls that help make up the page. We'll look at ViewState and ControlState which allow controls to maintain their state across postbacks. We'll also examine the server side event model of the page and controls.
Day 2
Configuration
In this module we will discuss how to configure your ASP.NET applications using the XML configuration file web.config. We will also look at the typesafe API for reading, writing and encrypting configuration data. Finally we illustrate how to build custom configuration sections in web.config.
Custom Controls I
The ASP.NET object model heavily replies upon controls in its server side object model. This module explains in detail how the server side control model can be extended with custom controls, composite controls and user controls. We'll look at the differences in the various types and discuss when each is appropriate to use.
Validation
ASP.NET provides a standard set of controls to aid in validation of user input. We will look at those controls and how to extend them with your own custom validation logic on both the client in JavaScript in on the server in your ASP.NET code.
Day 3
Data Binding
This module explores the declarative data binding model in ASP.NET. We'll examine the SqlDataSource and ObjectDataSource controls that serve data, as well as the GridView, DetailsView and FormView controls to display said data. We'll conclude by showing templates in these data bound controls and the two-way data binding support.
Security
In this lecture we will look at the authentication infrastructure in ASP.NET. Windows and Forms authentication will both be covered. For Forms authentication we examine the MembershipProvider model for storage of authentication information as well as the RoleProvider for role management.
Day 4
Master Pages and Themes
Developing a consistent look and feel across many pages is challenging. Master Pages and Themes in provide an appealing solution to the problem. We will examine how Master Pages allow for a common layout across pages. We then will explore Themes and how they provide a consistent style for your application.
Navigation
ASP.NET introduces a standard representation for navigation information. This lecture will examine how to access that information explicitly with the SiteMap class and implicitly using the SiteMapPath and SiteMapDataSource controls.
State Management
While HTTP may be a stateless protocol, ASP.NET applications are not. There are various state management mechanisms in ASP.NET which we will cover including Session, Cookies, and the User Profile feature in ASP.NET.
Day 5
Caching
Caching is an important technique for improving performance in your application. We will see ASP.NET's support for data caching including the SqlCacheDependency class. ASP.NET also supports page output caching which includes page fragment caching and post cache substitution for finer grained page caching.
Diagnostics and Error Handling
There are various diagnostics features in ASP.NET. We will examine the page tracing facility as well as health monitoring framework which utilizes Web events to raise notifications and Web event providers to log the notifications. We will conclude by examining the error reporting mechanism provided by ASP.NET.
ASP.NET AJAX
AJAX is a style of writing browser-based application to leverage JavaScript and XmlHttp callbacks to the server. This lecture provides an introduction to Microsoft's ASP.NET AJAX framework.
Appendix: jQuery
jQuery is a popular open source JavaScript library used to enhance AJAX style web pages and improve developer productivity. We will introduce the query and document manipulation capabilities of jQuery.
Appendix: Personalization with WebParts
Personalization allows end-users to customize the layout of pages to their own liking. We will explore the WebParts framework in ASP.NET to see how to build applications that support personalization.
Appendix: Custom Controls II
This module looks at the techniques for writing custom controls that utilize javascript on the client. We look at how to emit inline javascript with the ClientScriptManager class and how to perform scripting callbacks with the ASP.NET infrastructure. Finally we'll introduce Web Resources which allow custom controls to be completely self-contained despite requiring additional external resources (such as JavaScript or image files).
Appendix: Designer Integration
This module covers some of the attributes applied to custom controls to influence the designer and parser in ASP.NET.
Appendix: HttpRuntime
The HttpRuntime is a generic HTTP processing framework that is extensible with user code. To fully understand ASP.NET it is crucial to understand how it extends the underlying HttpRuntime architecture. We will examine the extensibility with handlers and modules and where best to utilize them.
Appendix: Localization
Localization is the process of translating you Web application for different languages and cultures. In this lecture you will see ASP.NET supports a more integrated localization strategy than previous versions.