Scott Mitchell SamsTeachYourself ASP.NET 4 Complete Starter Kit 24 in Hours 800 East 96th Street,Indianapolis,Indiana,46240 USA Sams Teach Yourself ASP.NET 4 in 24 Hours,Complete Starter Kit Editor-in-Chief Copyright © 2010 by Pearson Education,Inc. Karen Gettman All rights reserved. No part of this book shall be reproduced,stored in a retrieval system,or Executive Editor transmitted by any means,electronic,mechanical,photocopying,recording,or otherwise,without written permission from the publisher. No patent liability is assumed with respect to the use of Neil Rowe the information contained herein. Although every precaution has been taken in the preparation of Development this book,the publisher and author assume no responsibility for errors or omissions. Nor is any Editor liability assumed for damages resulting from the use of the information contained herein. Mark Renfrow ISBN-13: 978-0-672-33305-7 ISBN-10: 0-672-33305-8 Managing Editor Library of Congress Cataloging-in-Publication Data: Kristy Hart Mitchell,Scott,1978- Project Editor Sams teach yourself ASP.NET 4 in 24 hours complete starter kit / Scott Mitchell. — 1st ed. p. cm. Lori Lyons Includes bibliographical references and index. Copy Editor ISBN 978-0-672-33305-7 (alk. paper) Bart Reed 1. Active server pages. 2. Microsoft .NET. 3. Web sites—Design. I. Title. II. Title: Teach yourself ASP.NET 4 in 24 hours complete starter kit. III. Title: ASP.NET 4 in 24 hours complete Indexer starter kit. Brad Herriman TK5105.8885.A26M585 2010 006.7’882—dc22 Proofreader 2010016855 Kay Hoskin Printed in the United States of America Technical Editor First Printing June 2010 Eric Weinberger Trademarks All terms mentioned in this book that are known to be trademarks or service marks have been Publishing appropriately capitalized. Sams Publishing cannot attest to the accuracy of this information. Use Coordinator of a term in this book should not be regarded as affecting the validity of any trademark or service Cindy Teeters mark. Warning and Disclaimer Multimedia Developer Every effort has been made to make this book as complete and as accurate as possible,but no warranty or fitness is implied. The information provided is on an “as is” basis. The author and the Dan Scherf publisher shall have neither liability nor responsibility to any person or entity with respect to any Book Designer loss or damages arising from the information contained in this book or from the use of the CD or Gary Adair programs accompanying it. Bulk Sales Compositor Sams Publishing offers excellent discounts on this book when ordered in quantity for bulk pur- Nonie Ratcliff chases or special sales. For more information,please contact U.S. Corporate and Government Sales 1-800-382-3419 [email protected] For sales outside of the U.S.,please contact International Sales [email protected] Contents at a Glance Introduction................................................................................1 Part I: Getting Started with ASP.NET 4 HOUR 1 Getting Started with ASP.NET 4......................................................7 2 Understanding the ASP.NET Programming Model............................25 3 Using Visual Web Developer........................................................57 4 Designing, Creating, and Testing ASP.NET Pages.............................73 5 Understanding Visual Basic’s Variables and Operators....................101 6 Managing Program Flow with Visual Basic’s Control Structures........121 7 Working with Objects in Visual Basic ..........................................147 8 ASP.NET Web Controls for Displaying Text....................................157 Part II: Collecting and Processing User Input HOUR 9 Web Form Basics......................................................................179 10 Using Text Boxes to Collect Input................................................201 11 Collecting Input Using Drop-Down Lists, Radio Buttons, and Checkboxes.......................................................................221 12 Validating User Input with Validation Controls..............................247 Part III: Working with Databases HOUR 13 Introducing Databases..............................................................283 14 Accessing Data with the Data Source Web Controls........................305 15 Displaying Data with the Data Web Controls................................333 16 Deleting, Inserting, and Editing Data ..........................................359 17 Working with Data-Bound DropDownLists, Radio Buttons, and CheckBoxes.......................................................................393 18 Exploring Data Binding and Other Data-Related Topics..................415 19 Using Templated Data Web Controls ...........................................441 iv Teach Yourself ASP.NET 4 in 24 Hours Part IV: Site Navigation,User Management,Page Layout,AJAX,and Deployment HOUR 20 Defining a Site Map and Providing Site Navigation........................469 21 Using Master Pages to Provide Sitewide Page Templates .................495 22 Managing Your Site’s Users ........................................................521 23 Building More Responsive Web Pages with ASP.NET AJAX...............555 24 Deploying Your Website.............................................................573 Index.....................................................................................595 Table of Contents Introduction 1 Part I: Getting Started with ASP.NET 4 HOUR 1: Getting Started with ASP.NET 4 7 What Is ASP.NET? ................................................................................ 8 Installing the .NET Framework, Visual Web Developer, and SQL Server 2008 .......................................................................... 14 A Brief Tour of Visual Web Developer .................................................... 16 Q&A ................................................................................................ 23 Workshop.......................................................................................... 24 HOUR 2: Understanding the ASP.NET Programming Model 25 Examining the HTML Portion of an ASP.NET Page .................................. 25 Examining the Source Code Portion of an ASP.NET Page .......................... 44 Q&A ................................................................................................ 53 Workshop.......................................................................................... 53 HOUR 3: Using Visual Web Developer 57 Creating a New Website ...................................................................... 58 Opening Existing Websites .................................................................. 60 Working with Web Pages and Other Content .......................................... 61 Customizing the Visual Web Developer Experience .................................. 65 Viewing, Moving, and Resizing Windows................................................ 68 A World of Help at Your Fingertips ........................................................ 69 Q&A ................................................................................................ 70 Workshop.......................................................................................... 71 vi Teach Yourself ASP.NET 4 in 24 Hours HOUR 4: Designing,Creating,and Testing ASP.NET Pages 73 Specifying the Design Requirements ...................................................... 73 Creating the User Interface .................................................................. 76 Writing the Source Code for the ASP.NET Page ........................................ 82 Testing the Financial Calculator............................................................ 86 Examining the Source Code.................................................................. 92 Using the Debugger ............................................................................ 93 Q&A ................................................................................................ 97 Workshop.......................................................................................... 98 HOUR 5: Understanding Visual Basic’s Variables and Operators 101 The Purpose of Programming Languages.............................................. 102 Declaring and Using Variables............................................................ 103 Examining Visual Basic’s Operators .................................................... 110 Learning Visual Basic’s Type Rules ...................................................... 116 Q&A .............................................................................................. 118 Workshop........................................................................................ 118 HOUR 6: Managing Program Flow with Visual Basic’s Control Structures 121 Understanding Control Structures........................................................ 122 Exploring the Conditional Control Structure.......................................... 123 Working with Visual Basic’s Looping Control Structures .......................... 128 Exploring the Modularizing Control Structures: Subroutines and Functions.................................................................. 131 Q&A .............................................................................................. 142 Workshop........................................................................................ 144 HOUR 7: Working with Objects in Visual Basic 147 Reexamining the Role of Classes and Objects........................................ 148 Creating an Object............................................................................ 150 Setting an Object’s Properties.............................................................. 151 Calling an Object’s Methods .............................................................. 152 Creating Event Handlers for an Object’s Events...................................... 153 Q&A .............................................................................................. 155 Workshop........................................................................................ 155 vii Contents HOUR 8: ASP.NET Web Controls for Displaying Text 157 Examining the Web Controls Designed for Displaying Text...................... 157 Using the Literal Web Control ............................................................ 158 Using the Label Web Control .............................................................. 163 Q&A .............................................................................................. 172 Workshop........................................................................................ 173 Part II: Collecting and Processing User Input HOUR 9: Web Form Basics 179 Gathering User Input in an HTML Web Page ........................................ 180 Dissecting ASP.NET Web Forms............................................................ 186 Q&A .............................................................................................. 198 Workshop........................................................................................ 199 HOUR 10: Using Text Boxes to Collect Input 201 Learning About the TextBox Web Control Basics.................................... 202 Creating Multiline and Password Text Boxes.......................................... 205 Examining the TextBox Web Control’s Properties.................................... 211 Q&A .............................................................................................. 216 Workshop........................................................................................ 218 HOUR 11: Collecting Input Using Drop-Down Lists,Radio Buttons, and Check Boxes 221 Examining the Different Types of User Input Classifications .................... 222 Examining the DropDownList Web Control .......................................... 224 Selecting One Option from a List of Suitable Choices with RadioButton Web Controls.................................................................. 233 Using the CheckBox Web Control........................................................ 238 Q&A .............................................................................................. 243 Workshop........................................................................................ 244 HOUR 12: Validating User Input with Validation Controls 247 Examining the Need for User Input Validation ...................................... 248 Validating User Input in an ASP.NET Page ............................................ 250 viii Teach Yourself ASP.NET 4 in 24 Hours Examining the RequiredFieldValidator Validation Control ...................... 253 Examining the CompareValidator........................................................ 261 Using the RangeValidator .................................................................. 268 Validating Input with the RegularExpressionValidator ............................ 269 Formatting Properties for the Validation Web Controls............................ 272 A Look at the Remaining Validation Controls........................................ 274 Q&A .............................................................................................. 276 Workshop........................................................................................ 277 Part III: Working with Databases HOUR 13: Introducing Databases 283 Examining Database Fundamentals .................................................... 284 Storing Structured Data...................................................................... 285 Creating a New Database .................................................................. 290 Creating Database Tables .................................................................. 292 Adding Data to the Books Table.......................................................... 298 Q&A .............................................................................................. 302 Workshop........................................................................................ 303 HOUR 14: Accessing Data with the Data Source Web Controls 305 Examining the Data Source Controls.................................................... 306 A Look at SQL, the Language of Databases .......................................... 314 Delving into the SQL SELECT Statement................................................ 314 Filtering and Sorting Data from the SqlDataSource Control’s Wizard ........ 323 Q&A .............................................................................................. 330 Workshop........................................................................................ 331 HOUR 15: Displaying Data with the Data Web Controls 333 An Overview of Data Web Controls...................................................... 333 Displaying Data with the GridView Control .......................................... 337 Showing One Record at a Time with the DetailsView.............................. 347 ix Contents Paging and Sorting with the GridView.................................................. 351 Q&A .............................................................................................. 356 Workshop........................................................................................ 357 HOUR 16: Deleting,Inserting,and Editing Data 359 Updating, Deleting, and Inserting Data with the SqlDataSource .............. 360 Looking at the Data-Modification SQL Statements.................................. 363 Editing and Deleting Data with the GridView........................................ 366 Inserting Data with the DetailsView .................................................... 385 Q&A .............................................................................................. 388 Workshop........................................................................................ 388 HOUR 17: Working with Data-Bound DropDownLists,RadioButtons, and CheckBoxes 393 An Overview of the List Web Controls .................................................. 394 Filtering Results Using the DropDownList.............................................. 401 Collecting User Input with CheckBoxLists and RadioButtonLists................ 406 Q&A .............................................................................................. 412 Workshop........................................................................................ 412 HOUR 18: Exploring Data Binding and Other Data-Related Topics 415 Looking at the GridView and DetailsView’s Fields .................................. 416 Using Wildcards in a WHERE Filter Expression ...................................... 426 An Examination of Data Binding........................................................ 429 Q&A .............................................................................................. 436 Workshop........................................................................................ 438 HOUR 19: Using Templated Data Web Controls 441 Displaying Data Using the ListView Control.......................................... 442 Paging and Sorting the ListView’s Data ................................................ 450 Displaying One Record at a Time with the FormView Control .................. 456 Q&A .............................................................................................. 463 Workshop........................................................................................ 464