| Contents at a Glance | 5 |
---|
| Contents | 7 |
---|
| About the Authors | 30 |
---|
| About the Technical Reviewer | 31 |
---|
| Introduction | 32 |
---|
| What Does This Book Cover? | 32 |
| Who Is This Book For? | 33 |
| What Do You Need to Use This Book? | 34 |
| Customer Support | 35 |
| Core Concepts | 36 |
---|
| Introducing ASP.NET | 37 |
| The Evolution of Web Development | 37 |
| Seven Important Facts About ASP.NET | 41 |
| ASP.NET 3.5: The Story Continues | 50 |
| Summary | 57 |
| Visual Studio | 58 |
| The .NET Development Model | 59 |
| The Visual Studio IDE | 73 |
| The Code Editor | 79 |
| The Code Model | 85 |
| Web Projects | 92 |
| Visual Studio Debugging | 98 |
| Visual Studio Macros | 104 |
| The Web Development Helper | 107 |
| Summary | 109 |
| Web Forms | 110 |
| Page Processing | 110 |
| Web Forms Processing Stages | 127 |
| The Page As a Control Container | 133 |
| The Page Class | 140 |
| Summary | 156 |
| Server Controls | 157 |
| Types of Server Controls | 157 |
| HTML Server Controls | 160 |
| Web Controls | 170 |
| The List Controls | 184 |
| Input Validation Controls | 190 |
| Rich Controls | 205 |
| Summary | 210 |
| ASP.NET Applications | 211 |
| Anatomy of an ASP.NET Application | 211 |
| The global.asax Application File | 215 |
| ASP.NET Configuration | 221 |
| .NET Components | 244 |
| Extending the HTTP Pipeline | 251 |
| Summary | 265 |
| State Management | 266 |
| ASP.NET State Management | 266 |
| View State | 269 |
| Transferring Information Between Pages | 278 |
| Cookies | 287 |
| Session State | 289 |
| Application State | 300 |
| Summary | 304 |
| Data Access | 305 |
---|
| ADO.NET Fundamentals | 306 |
| The ADO.NET Architecture | 307 |
| The Connection Class | 313 |
| The Command and DataReader Classes | 319 |
| Transactions | 336 |
| Provider-Agnostic Code | 345 |
| Summary | 349 |
| Data Components and the DataSet | 350 |
| Building a Data Access Component | 350 |
| Disconnected Data | 362 |
| The DataSet | 365 |
| The DataAdapter Class | 366 |
| The DataView Class | 375 |
| Typed DataSets | 383 |
| Summary | 391 |
| Data Binding | 392 |
| Basic Data Binding | 393 |
| Data Source Controls | 408 |
| The SqlDataSource | 410 |
| The ObjectDataSource | 427 |
| The Limits of the Data Source Controls | 439 |
| Summary | 442 |
| Rich Data Controls | 443 |
| | 444 |
| | 449 |
| | 456 |
| | 461 |
| | 466 |
| | 473 |
| | 487 |
| | 493 |
| | 500 |
| | 518 |
| Caching and Asynchronous Pages | 519 |
| Understanding ASP.NET Caching | 519 |
| Output Caching | 520 |
| Data Caching | 531 |
| Cache Dependencies | 539 |
| Custom Cache Dependencies | 553 |
| Asynchronous Pages | 557 |
| Summary | 569 |
| Files and Streams | 570 |
| Working with the File System | 570 |
| Reading and Writing Files with Streams | 588 |
| Serialization | 600 |
| Summary | 604 |
| LINQ | 605 |
| LINQ Basics | 606 |
| LINQ to DataSet | 619 |
| LINQ to SQL | 623 |
| The LinqDataSource | 664 |
| Summary | 672 |
| XML | 673 |
| When Does Using XML Make Sense? | 673 |
| An Introduction to XML | 674 |
| Stream-Based XML Processing | 680 |
| In-Memory XML Processing | 689 |
| Searching XML Content | 703 |
| Validating XML Content | 710 |
| Transforming XML Content | 713 |
| XML Data Binding | 719 |
| XML and the ADO.NET DataSet | 731 |
| Summary | 736 |
| Building ASP.NET Websites | 738 |
---|
| User Controls | 739 |
| User Control Basics | 740 |
| Adding Code to a User Control | 743 |
| Dynamically Loading User Controls | 754 |
| Partial Page Caching | 758 |
| Summary | 761 |
| Themes and Master Pages | 762 |
| Cascading Style Sheets | 762 |
| Themes | 768 |
| Standardizing Website Layout | 779 |
| Master Page Basics | 780 |
| Advanced Master Pages | 790 |
| Summary | 794 |
| Website Navigation | 795 |
| Pages with Multiple Views | 795 |
| Site Maps | 810 |
| The TreeView Control | 833 |
| The Menu Control | 843 |
| Summary | 849 |
| Website Deployment | 850 |
| Internet Information Services (IIS) | 850 |
| Managing Websites | 881 |
| Deploying Your ASP.NET Applications | 913 |
| The VirtualPathProvider in ASP.NET | 932 |
| Health Monitoring in ASP.NET | 937 |
| Summary | 942 |
| Security | 944 |
---|
| The ASP.NET Security Model | 945 |