ebook img

Pro ASP.NET 3.5 in C Sharp 2008 PDF

1538 Pages·2007·51.01 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Pro ASP.NET 3.5 in C Sharp 2008

cyan yelloW MaGenTa Black panTone 123 c Books for professionals By professionals® The eXperT’s Voice® in .neT Free Companion eBook Available FFoorr aa lliimmiitteedd ttiimmee,, Pro ASP.NET 3.5 in C# 2008, ggeett tthhee ffrreeee,, ffuullllyy sseeaarrcchhaabbllee Pro eeBBooookk——aa $$3300 vvaalluuee!! SECoNd EdiTioN SSeeee llaasstt ppaaggee ffoorr ddeettaaiillss.. OOffffeerr eennddss JJuunnee 3300,, 22000088.. Dear Reader, Pro As you know, ASP.NET is Microsoft’s premier technology for creating server-side i A n Matthew MacDonald, web applications. ASP.NET 1.0 was a revolution in the web programming world. author of It was so wildly popular that it was licensed on thousands of commercial web BCe#g 2in0n0in8g ( AApSrPe.sNsE)T 3.5 in servers while it was still a beta product. CS In this book, you’ll learn about ASP.NET 3.5, which is the latest milestone in Pro WPF: Windows web development. ASP.NET 3.5 adds a host of minor refinements and two major ASP.NET 3.5 Presentation Foundation in features. The first is LINQ—a revolutionary addition that lets you manipulate .NET 3.0 (Apress) # data, create XML content, and retrieve records from a database without writ- P Pro .NET 2.0 Windows ing a line of low-level code. The second is ASP.NET AJAX—a toolkit that allows Forms and Custom Controls in C# (Apress) you to create modern, highly responsive web pages that incorporate dynam- . Programming .NET ic effects and refresh themselves seamlessly. You’ll learn about both of these 2 Web Services innovations in this book. You’ll also get a preview of Silverlight 1.1, Microsoft’s N ASP.NET: The Complete next-generation browser plug-in that allows you to draw vector graphics, show Reference animations, and play media files in your ASP.NET pages. There’s no better way C# 2008 0 to prepare for the future of the Web. in Welcome aboard! E 0 Matthew MacDonald (Microsoft MVP, MCSD) T 8 THE APRESS ROADMAP Mario Szpuszta, author of Beginning ASP.NET 3.5 Pro LINQ Pro ASP.NET 3.5 3 in C# 2008 Server Controls Advanced .NET Remoting, Second Edition (Apress) Beginning ASP.NET 3.5 Pro ASP.NET 3.5 Foundations of Data Access in C# 2008 ASP.NET AJAX . Free Companion eBook Pro C# 2008 and the 5 Beginning Silverlight 1.1 Pro Silverlight 1.1 .NET 3.5 Platform SECoND EDiTioN For a limited time only. See last page for details. SECoNd EdiTioN Matthew MacDonald ISBN-13: 978-1-59059-893-1 SOURCE CODE ONLINE ISBN-10: 1-59059-893-8 www.apress.com 55999 and Mario Szpuszta MacDonald, Szpuszta US $59.99 Shelve in .NET User level: 9 781590 598931 Intermediate–Advanced this print for content only—size & color not accurate spine = 2.068" 1,536 page count 45# Restore Cote MacDonald893-8.book Page i Friday, October 19, 2007 6:05 PM Pro ASP.NET 3.5 in C# 2008 Second Edition ■ ■ ■ Matthew MacDonald and Mario Szpuszta MacDonald893-8.book Page ii Friday, October 19, 2007 6:05 PM Pro ASP.NET 3.5 in C# 2008, Second Edition Copyright © 2007 by Matthew MacDonald and Mario Szpuszta All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. ISBN-13 (pbk): 978-1-59059-893-1 ISBN-10 (pbk): 1-59059-893-8 Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1 Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. Lead Editor: Jonathan Hassell Technical Reviewer: Andy Olsen Editorial Board: Steve Anglin, Ewan Buckingham, Tony Campbell, Gary Cornell, Jonathan Gennick, Jason Gilmore, Kevin Goff, Jonathan Hassell, Matthew Moodie, Joseph Ottinger, Jeffrey Pepper, Ben Renow-Clarke, Dominic Shakeshaft, Matt Wade, Tom Welsh Project Manager: Denise S. Lincoln Copy Editors: Ami Knox, Damon Larson, Susannah Pfalzer Associate Production Director: Kari Brooks-Copony Production Editor: Katie Stence Compositor: Pat Christenson Proofreaders: Lisa Hamilton and Linda Seifert Indexer: Broccoli Information Management Artist: April Milne Cover Designer: Kurt Krames Manufacturing Director: Tom Debolski Distributed to the book trade worldwide by Springer-Verlag New York, Inc., 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax 201-348-4505, e-mail [email protected], or visit http://www.springeronline.com. For information on translations, please contact Apress directly at 2855 Telegraph Avenue, Suite 600, Berkeley, CA 94705. Phone 510-549-5930, fax 510-549-5939, e-mail [email protected], or visit http:// www.apress.com. The information in this book is distributed on an “as is” basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work. The source code for this book is available to readers at http://www.apress.com. MacDonald893-8.book Page iii Friday, October 19, 2007 6:05 PM MacDonald893-8.book Page iv Friday, October 19, 2007 6:05 PM Contents at a Glance About the Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix About the Technical Reviewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxi Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiii PART 1 Core Concepts ■ ■ ■ ■ CHAPTER 1 Introducing ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 ■ CHAPTER 2 Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 ■ CHAPTER 3 Web Forms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 ■ CHAPTER 4 Server Controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 ■ CHAPTER 5 ASP.NET Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 ■ CHAPTER 6 State Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 PART 2 Data Access ■ ■ ■ ■ CHAPTER 7 ADO.NET Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 ■ CHAPTER 8 Data Components and the DataSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 ■ CHAPTER 9 Data Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 ■ CHAPTER 10 Rich Data Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 ■ CHAPTER 11 Caching and Asynchronous Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 ■ CHAPTER 12 Files and Streams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 ■ CHAPTER 13 LINQ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 ■ CHAPTER 14 XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587 PART 3 Building ASP.NET Websites ■ ■ ■ ■ CHAPTER 15 User Controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645 ■ CHAPTER 16 Themes and Master Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665 ■ CHAPTER 17 Website Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695 ■ CHAPTER 18 Website Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745 iv MacDonald893-8.book Page v Friday, October 19, 2007 6:05 PM PART 4 Security ■ ■ ■ ■ CHAPTER 19 The ASP.NET Security Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827 ■ CHAPTER 20 Forms Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859 ■ CHAPTER 21 Membership. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885 ■ CHAPTER 22 Windows Authentication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939 ■ CHAPTER 23 Authorization and Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975 ■ CHAPTER 24 Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1009 ■ CHAPTER 25 Cryptography. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1041 ■ CHAPTER 26 Custom Membership Providers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1071 PART 5 Advanced User Interface ■ ■ ■ ■ CHAPTER 27 Custom Server Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1109 ■ CHAPTER 28 Design-Time Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1151 ■ CHAPTER 29 Dynamic Graphics and GDI+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1183 ■ CHAPTER 30 Portals with Web Part Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1215 PART 6 Client-Side Programming ■ ■ ■ ■ CHAPTER 31 JavaScript and Ajax Techniques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1273 ■ CHAPTER 32 ASP.NET AJAX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1323 ■ CHAPTER 33 Silverlight. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1379 ■ INDEX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1441 v MacDonald893-8.book Page vi Friday, October 19, 2007 6:05 PM MacDonald893-8.book Page vii Friday, October 19, 2007 6:05 PM Contents About the Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix About the Technical Reviewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxi Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiii PART 1 Core Concepts ■ ■ ■ ■ CHAPTER 1 Introducing ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 The Evolution of Web Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 The Early Web Development World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 What’s Wrong with Classic ASP? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 ASP.NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 Seven Important Facts About ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 Fact 1: ASP.NET Is Integrated with the .NET Framework. . . . . . . . . . . . . . . .7 Fact 2: ASP.NET Is Compiled, Not Interpreted. . . . . . . . . . . . . . . . . . . . . . . . .7 Fact 3: ASP.NET Is Multilanguage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Fact 4: ASP.NET Is Hosted by the Common Language Runtime. . . . . . . . .11 Fact 5: ASP.NET Is Object-Oriented . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 Fact 6: ASP.NET Is Multidevice and Multibrowser . . . . . . . . . . . . . . . . . . . .14 Fact 7: ASP.NET Is Easy to Deploy and Configure . . . . . . . . . . . . . . . . . . . .15 ASP.NET 3.5: The Story Continues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 ASP.NET 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16 ASP.NET 3.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17 Silverlight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 ■ CHAPTER 2 Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 The .NET Development Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24 The Compiler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24 The Visual Studio IDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 Websites and Web Projects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 Creating a Projectless Website. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 Multitargeting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 Designing a Web Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 vii MacDonald893-8.book Page viii Friday, October 19, 2007 6:05 PM viii ■ CONTENTS The Visual Studio IDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 Solution Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 Document Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39 Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39 Error List and Task List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40 Server Explorer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42 The Code Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42 Adding Assembly References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 IntelliSense and Outlining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46 The Code Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48 How Code-Behind Files Are Connected to Pages . . . . . . . . . . . . . . . . . . . . .51 How Control Tags Are Connected to Page Variables . . . . . . . . . . . . . . . . . .52 How Events Are Connected to Event Handlers . . . . . . . . . . . . . . . . . . . . . . .53 Web Projects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55 Creating a Web Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56 Migrating a Website from a Previous Version of Visual Studio . . . . . . . . . .58 Visual Studio Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59 Single-Step Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60 Variable Watches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 Advanced Breakpoints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64 Visual Studio Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65 The Web Development Helper. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69 ■ CHAPTER 3 Web Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71 Page Processing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71 HTML Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72 Dynamic User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73 The ASP.NET Event Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74 Automatic Postbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75 View State. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77 XHTML Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82 Web Forms Processing Stages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86 Page Framework Initialization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87 User Code Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88 Validation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88 Event Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89 Automatic Data Binding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89 Cleanup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90 A Page Flow Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90 The Page As a Control Container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92 Showing the Control Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93 The Page Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97 Dynamic Control Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98

Description:
ASP.NET 3.5 is the latest version of Microsoft’s revolutionary ASP.NET technology. It is the principal standard for creating dynamic web pages on the Windows platform. Pro ASP.NET 3.5 in C# 2008 raises the bar for high–quality, practical advice on learning and deploying Microsoft’s dynamic web
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.