| Foreword | p. xiii |
| Acknowledgments | p. xv |
| How to Use This Book | p. xvii |
| Introducing ASP .NET | p. 1 |
| ASP .NET: The Five-Minute Guide | p. 2 |
| ASP .NET vs. Classic ASP | p. 6 |
| Developing Web Applications | p. 7 |
| Key Concepts for ASP .NET | p. 10 |
| Understanding Web Applications | p. 17 |
| Understanding Web Services | p. 27 |
| Introducing ASP .NET Intrinsic Objects | p. 30 |
| Summary | p. 35 |
| Web Forms | p. 37 |
| What Is a Web Form? | p. 38 |
| Your First Web Application | p. 45 |
| Positioning Controls | p. 51 |
| Browser Rendering | p. 53 |
| Defining Web Form Properties and Methods | p. 55 |
| Understanding Web Form Events | p. 58 |
| Exploring Navigation | p. 61 |
| Understanding Web Form File Structure | p. 65 |
| Content of a Web Form | p. 67 |
| Where to Locate Code? | p. 80 |
| The Shift from Procedural to Object-Oriented | p. 80 |
| Summary | p. 81 |
| HTML Controls | p. 83 |
| Introducing HTML Tags, Elements, and Controls | p. 83 |
| Using HTML Controls | p. 84 |
| Formatting and Style | p. 96 |
| Properties, Methods, and Events | p. 100 |
| Maintaining Page State | p. 109 |
| Why Use HTML Controls? | p. 111 |
| Summary | p. 112 |
| Web Controls | p. 113 |
| Using Web Controls | p. 118 |
| Introducing Web Control Classes and Categories | p. 120 |
| Understanding Intrinsic Controls | p. 121 |
| Exploring List Controls | p. 135 |
| Using Rich Controls | p. 138 |
| Using Validation Controls | p. 142 |
| Implementing Formatting and Style | p. 158 |
| Understanding Event Processing and AutoPostback | p. 161 |
| Summary | p. 170 |
| Building Custom Web Controls | p. 173 |
| Implementing Web User Controls | p. 174 |
| Creating Active Web User Controls | p. 179 |
| Developing Web Custom Controls | p. 189 |
| Summary | p. 209 |
| Building Mobile Web Applications | p. 211 |
| What Is a Mobile Web Application? | p. 212 |
| Creating a Mobile Web Application | p. 215 |
| Using Mobile Controls | p. 225 |
| Limitations, Problems, and Challenges | p. 243 |
| Summary | p. 247 |
| Working with Databases | p. 249 |
| Reading a Single Row | p. 251 |
| Reading Multiple Rows | p. 258 |
| Performing Updates | p. 261 |
| Using Stored Procedures | p. 270 |
| Working with DataSets | p. 274 |
| Updating DataSets | p. 290 |
| Summary | p. 291 |
| Data Binding | p. 293 |
| Understanding Data Bound Lists | p. 295 |
| Binding Expressions | p. 298 |
| Implementing Data Bound Input Controls | p. 299 |
| Using Templates, Repeaters, DataLists, and DataGrids | p. 308 |
| Putting It Together | p. 319 |
| DataGrid Sorting and Paging | p. 326 |
| Editing and Updating | p. 330 |
| Using Templates with DataGrids | p. 336 |
| Event Bubbling | p. 340 |
| Summary | p. 342 |
| Working with XML | p. 343 |
| Learning XML Basics | p. 344 |
| Using DataSets and XML Schemas | p. 355 |
| Summary | p. 360 |
| Web Application Architecture | p. 361 |
| How ASP .NET Works | p. 362 |
| Exploring Client Browsers and Platforms | p. 364 |
| Working with IIS and ISAPI | p. 366 |
| Understanding the HTTP Runtime, Modules, and Handlers | p. 370 |
| Introducing the ASP .NET Processing Model | p. 380 |
| Processing Page Requests | p. 386 |
| Creating Custom Modules and Handlers | p. 396 |
| Configuring ASP .NET | p. 400 |
| Deploying Applications | p. 407 |
| Using Tracing | p. 417 |
| Summary | p. 425 |
| Web Application Security | p. 427 |
| Understanding Security | p. 428 |
| Browser Security | p. 431 |
| Implementing Secure Transmission | p. 441 |
| Securing the Web Server | p. 446 |
| IIS Security | p. 448 |
| ASP .NET Impersonation | p. 455 |
| ASP .NET Authentication | p. 457 |
| ASP .NET Authorization | p. 465 |
| Securing Static Content | p. 471 |
| Summary | p. 474 |
| Designing Web Applications | p. 475 |
| Introducing Application Structure and Design | p. 476 |
| Understanding Global.asax | p. 480 |
| Centralizing Error Management | p. 487 |
| Controlling Navigation | p. 496 |
| Using Framesets | p. 504 |
| Using Form, QueryString, and Cookies | p. 509 |
| Managing State | p. 514 |
| Output Caching | p. 535 |
| Summary | p. 541 |
| Achieving Scalability | p. 543 |
| Who Needs Scalability | p. 543 |
| Let's Go (Round) Tripping | p. 546 |
| Load Balancing and State Management | p. 557 |
| Enterprise Services | p. 569 |
| Summary | p. 574 |
| Web Services | p. 577 |
| What Are Web Services? | p. 577 |
| Creating Web Services and Web Service Clients | p. 580 |
| Learning Web Service Standards | p. 588 |
| Using Web Services | p. 596 |
| Designing Web Services | p. 605 |
| Summary | p. 627 |
| Web and ASP Basics | p. 629 |
| Understanding HTML | p. 630 |
| Understanding HTTP | p. 638 |
| Using IIS | p. 640 |
| Using ASP | p. 643 |
| Summary | p. 648 |
| The What and Why of .NET | p. 649 |
| The .NET Vision | p. 650 |
| The .NET Framework | p. 654 |
| Summary | p. 660 |
| The Visual Basic .NET Language | p. 661 |
| Introducing Language Constructs | p. 663 |
| Learning about Data Types | p. 664 |
| Understanding Error Handling | p. 668 |
| Using Classes | p. 669 |
| Exploring Inheritance | p. 672 |
| Summary | p. 674 |
| An Overview of ADO.NET | p. 677 |
| ASP.NET and SOL Server Security | p. 678 |
| Before ADO.NET | p. 679 |
| Exploring ADO.NET | p. 682 |
| Using .NET Data Providers | p. 685 |
| The DataSet Object Model | p. 689 |
| Summary | p. 694 |
| The Common Language Runtime | p. 695 |
| Managing Memory in .NET | p. 696 |
| Understanding Intermediate Language and Metadata | p. 700 |
| Locating Assemblies | p. 703 |
| Summary | p. 706 |
| Updating DataSets | p. 707 |
| Writing Changes to a DataTable | p. 708 |
| Updating a Database One Row at a Time | p. 710 |
| Batch Updating a Database | p. 715 |
| Summary | p. 718 |
| Index | p. 719 |
| Table of Contents provided by Syndetics. All Rights Reserved. |