Thông tin tài liệu
MacDonald
Freeman
Szpuszta
FOURTH EDITION
ASP.NET 4
in C# 2010
Companion eBook Available
7.5 x 9.25 spine = 3.03125" 1616 page count
THE EXPERT’S VOICE
®
IN .NET
Pro
ASP.NET 4
in C# 2010
FOURTH EDITION
Matthew MacDonald, Adam Freeman,
and Mario Szpuszta
Pro
this print for content only—size & color not accurate
CYAN
MAGENTA
YELLOW
BLACK
PANTONE 123 C
BOOKS FOR PROFESSIONALS BY PROFESSIONALS
®
Matthew MacDonald,
Author of
Pro Silverlight 4 in C#
Beginning ASP.NET 4 in C#
2010
Pro WPF in C# 2010
Pro .NET 2.0 Windows
Forms and Custom Controls
US $59.99
Shelve in:
.NET
User level:
Intermediate–Advanced
www.apress.com
SOURCE CODE ONLINE
Companion eBook
See last page for details
on $10 eBook version
ISBN 978-1-4302-2529-4
9 781430 225294
5 59 9 9
Adam Freeman,
Co-Author of
Introducing Visual C# 2010
Pro .NET 4 Parallel
Programming in C#
Pro LINQ: Language
Integrated Query in C#
2010
Visual C# 2010 Recipes
Programming .NET Security
Microsoft .NET XML Web
Services Step by Step
C# for Java Developers
Programming the Internet
with Java
Active Java
Mario Szpuszta,
Co-Author of
Advanced .NET Remoting
Pro ASP.NET 4 in C# 2010
Dear Reader,
As you know, ASP.NET is Microsoft’s premier technology for creating server-
side web applications. In this book, you’ll learn about ASP.NET 4, which is the
latest milestone in web development.
ASP.NET 4 adds a host of refinements and two major new features to pre-
vious versions of the technology. The first major change is the inclusion of
ASP.NET MVC—an alternative way to design web pages—that offers clean-
er URLs, better testability, and tight control over HTML. The second is ASP.
NET Dynamic Data—a data scaffolding framework that allows you to build
an entire website out of flexible, reusable templates. You’ll learn about both
of these innovations in this book. You’ll also get a solid look at Silverlight,
Microsoft’s next-generation browser plug-in that allows you to draw vector
graphics, show animations, and play media files in your ASP.NET pages.
The book also covers:
• Core concepts of ASP.NET 4. You’ll learn the fundamentals of Visual Studio, ASP.
NET, and the web forms model—and how to extend this infrastructure when
you need to.
• Data access. You’ll get a thorough review of scalable data access programming,
covering pure ADO.NET, LINQ, the Entity Framework, ASP.NET Dynamic Data,
and advanced caching techniques.
• Security. You’ll learn to secure your website with ASP.NET’s built-in authoriza-
tion and authentication features, and how to protect sensitive data wherever it’s
stored with encryption.
• Advanced user interface. You’ll study a range of techniques for building pages with
pizzazz, including CSS, custom controls, GDI+, JavaScript, and ASP.NET AJAX.
• And much more…
Matthew MacDonald (Microsoft MVP, MCSD)
THE APRESS ROADMAP
Pro
Silverlight 4 in C#
Pro
Dynamic .NET 4.0
Applications
Pro
Windows Azure
Pro C# 2010
and the
.NET 4 Platform
Pro ASP.NET 4
in C# 2010,
Introducing
.NET 4.0
Accelerated
C# 2010
2529-4 MacDonald.indd 1 6/7/10 12:08 PM
www.it-ebooks.info
www.it-ebooks.info
Pro ASP.NET 4 in C# 2010
Fourth Edition
■ ■ ■
Matthew MacDonald, Adam Freeman,
and Mario Szpuszta
www.it-ebooks.info
Pro ASP.NET in C# 2010, Fourth Edition
Copyright © 2010 by Matthew MacDonald, Adam Freeman, 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 the publisher.
ISBN-13 (pbk): 978-1-4302-2529-4
ISBN-13 (electronic): 978-1-4302-2530-0
Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1
Trademarked names, logos, and images may appear in this book. Rather than use a trademark
symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and
images only in an editorial fashion and to the benefit of the trademark owner, with no intention of
infringement of the trademark.
The use in this publication of trade names, trademarks, service marks, and similar terms, even if
they are not identified as such, is not to be taken as an expression of opinion as to whether or not
they are subject to proprietary rights.
President and Publisher: Paul Manning
Lead Editor: Ewan Buckingham
Technical Reviewers: Fabio Claudio Ferracchiati and Todd Meister
Editorial Board: Clay Andres, Steve Anglin, Mark Beckner, Ewan Buckingham, Gary Cornell,
Jonathan Gennick, Jonathan Hassell, Michelle Lowman, Matthew Moodie, Duncan Parkes,
Jeffrey Pepper, Frank Pohlmann, Douglas Pundick, Ben Renow-Clarke, Dominic
Shakeshaft, Matt Wade, Tom Welsh
Coordinating Editor: Anne Collett
Copy Editors: Ralph Moore, Katie Stence, Kim Wimpsett
Compositor: Mary Sudul
Indexer: Kevin Broccoli
Artist: April Milne
Cover Designer: Anna Ishchenko
Distributed to the book trade worldwide by Springer Science+Business Media, LLC., 233 Spring
Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail orders-
ny@springer-sbm.com, or visit www.springeronline.com.
For information on translations, please e-mail rights@apress.com, or visit www.apress.com.
Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional
use. eBook versions and licenses are also available for most titles. For more information, reference
our Special Bulk Sales–eBook Licensing web page at www.apress.com/info/bulksales.
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 www.apress.com. You will need to answer
questions pertaining to this book in order to successfully download the code.
www.it-ebooks.info
iii
Contents at a Glance
Contents v
About the Author xxxii
About the Technical Reviewer xxxiii
Introduction xxxiv
Part 1: Core Concepts 1
■ Chapter 1: Introducing ASP.NET 3
■ Chapter 2: Visual Studio 21
■ Chapter 3: Web Forms 77
■ Chapter 4: Server Controls 129
■ Chapter 5: ASP.NET Applications 183
■ Chapter 6: State Management 235
Part 2: Data Access 275
■ Chapter 7: ADO.NET Fundamentals 277
■ Chapter 8: Data Components and the DataSet 321
■ Chapter 9: Data Binding 353
■ Chapter 10: Rich Data Controls 403
■ Chapter 11: Caching and Asynchronous Pages 477
■ Chapter 12: Files and Streams 527
■ Chapter 13: LINQ 563
■ Chapter 14: XML 617
www.it-ebooks.info
iv
Part 3: Building ASP.NET Websites 679
■ Chapter 15: User Controls 681
■ Chapter 16: Themes and Master Pages 703
■ Chapter 17: Website Navigation 735
■ Chapter 18: Website Deployment 791
Part 4: Security 833
■ Chapter 19: The ASP.NET Security Model 835
■ Chapter 20: Forms Authentication 851
■ Chapter 21: Membership 877
■ Chapter 22: Windows Authentication 933
■ Chapter 23: Authorization and Roles 963
■ Chapter 24: Profiles 995
■ Chapter 25: Cryptography 1029
■ Chapter 26: Custom Membership Providers 1061
Part 5: Advanced User Interface 1099
■ Chapter 27: Custom Server Controls 1101
■ Chapter 28: Graphics, GDI+, and Charting 1135
■ Chapter 29: JavaScript and Ajax Techniques 1179
■ Chapter 30: ASP.NET AJAX 1239
■ Chapter 31: Portals with Web Part Pages 1303
■ Chapter 32: MVC 1363
■ Chapter 33: Dynamic Data 1397
■ Chapter 34: Silverlight 1437
Index 1491
www.it-ebooks.info
■ CONTENTS
v
Contents
Contents at a Glance iii
About the Author xxxii
About the Technical Reviewer xxxiii
Introduction xxxiv
Part 1: Core Concepts 1
■ Chapter 1: Introducing ASP.NET 3
The Seven Pillars of ASP.NET 3
#1: ASP.NET Is Integrated with the .NET Framework 3
#2: ASP.NET Is Compiled, Not Interpreted 4
#3: ASP.NET Is Multilanguage 6
#4: ASP.NET Is Hosted by the Common Language Runtime 8
#5: ASP.NET Is Object-Oriented 9
#6: ASP.NET Supports all Browsers 11
#7: ASP.NET Is Easy to Deploy and Configure 11
The Evolution of ASP.NET 12
ASP.NET 1.0 and 1.1 12
ASP.NET 2.0 12
ASP.NET 3.5 13
ASP.NET 4 16
Silverlight 18
Summary 19
www.it-ebooks.info
■ CONTENTS
vi
■ Chapter 2: Visual Studio 21
Introducing Visual Studio 21
Websites and Web Projects 22
Creating a Projectless Website 23
Designing a Web Page 28
The Visual Studio IDE 35
Solution Explorer 37
Document Window 38
Toolbox 38
Error List and Task List 39
Server Explorer 41
The Code Editor 42
Adding Assembly References 43
IntelliSense and Outlining 46
Visual Studio 2010 Improvements 50
The Code Model 56
How Code-Behind Files Are Connected to Pages 59
How Control Tags Are Connected to Page Variables 60
How Events Are Connected to Event Handlers 61
Web Projects 63
Creating a Web Project 64
Migrating a Website from a Previous Version of Visual Studio 66
Visual Studio Debugging 68
Single-Step Debugging 69
Variable Watches 72
Advanced Breakpoints 74
The Web Development Helper 74
Summary 76
■ Chapter 3: Web Forms 77
Page Processing 78
HTML Forms 78
www.it-ebooks.info
■ CONTENTS
vii
Dynamic User Interface 80
The ASP.NET Event Model 81
Automatic Postbacks 82
View State 84
XHTML Compliance 88
Client-Side Control IDs 94
Web Forms Processing Stages 97
Page Framework Initialization 98
User Code Initialization 99
Validation 99
Event Handling 100
Automatic Data Binding 100
Cleanup 101
A Page Flow Example 101
The Page As a Control Container 104
Showing the Control Tree 104
The Page Header 109
Dynamic Control Creation 110
The Page Class 112
Session, Application, and Cache 112
Request 113
Response 114
Server 118
User 121
Trace 121
Accessing the HTTP Context in Another Class 127
Summary 128
■ Chapter 4: Server Controls 129
Types of Server Controls 129
The Server Control Hierarchy 130
HTML Server Controls 132
The HtmlControl Class 133
www.it-ebooks.info
■ CONTENTS
viii
The HtmlContainerControl Class 133
The HtmlInputControl Class 134
The HTML Server Control Classes 134
Setting Style Attributes and Other Properties 136
Programmatically Creating Server Controls 137
Handling Server-Side Events 139
Web Controls 142
The WebControl Base Class 143
Basic Web Control Classes 145
Units 147
Enumerations 147
Colors 148
Fonts 148
Focus 150
The Default Button 151
Scrollable Panels 152
Handling Web Control Events 153
The List Controls 156
The Selectable List Controls 157
The BulletedList Control 161
Input Validation Controls 162
The Validation Controls 163
The Validation Process 164
The BaseValidator Class 165
The RequiredFieldValidator Control 167
The RangeValidator Control 167
The CompareValidator Control 168
The RegularExpressionValidator Control 168
The CustomValidator Control 171
The ValidationSummary Control 172
Using the Validators Programmatically 174
Validation Groups 175
www.it-ebooks.info
[...]... . 144 1 Creating a Silverlight Solution 144 2 Silverlight Compilation . 144 3 The Entry Page 144 5 Creating a Silverlight Project . 144 9 Designing a Silverlight Page 145 0 Understanding XAML 145 4 Setting Properties 145 5 The XAML Code-Behind 145 6 Handling Events 145 7 xxx www.it-ebooks.info... CONTENTS Editing Templates in Visual Studio .43 6 Binding to a Method 43 7 Handling Events in a Template 43 9 Editing with a Template 44 0 Client IDs in Templates .44 7 The ListView 44 7 Grouping .45 1 Paging .45 3 The DetailsView and FormView 45 4 The DetailsView 45 4 The FormView... Dynamic Data Project 140 3 Customizing a Dynamic Data Site 140 4 Customizing with Templates 140 4 Customizing with Routes 141 4 Customizing with Metadata 142 3 Customizing Validation . 143 0 Summary 143 5 ■ Chapter 34: Silverlight 143 7 Understanding Silverlight 143 8 Silverlight vs Flash 143 9 Silverlight... 45 7 Advanced Grids 45 9 Summaries in the GridView 45 9 A Parent/Child View in a Single Table 46 1 Editing a Field Using a Lookup Table 46 4 Serving Images from a Database .46 6 Detecting Concurrency Conflicts 47 2 Summary .47 6 ■ Chapter 11: Caching and Asynchronous Pages .47 7 Understanding ASP.NET Caching ... Caching .47 7 Output Caching 47 8 Declarative Output Caching 47 9 Caching and the Query String 48 0 Caching with Specific Query String Parameters .48 1 Custom Caching Control .48 1 Caching with the HttpCachePolicy Class 48 3 Post-Cache Substitution and Fragment Caching 48 4 Cache Profiles 48 7 Cache Configuration... Mechanisms for Windows Authentication 935 Implementing Windows Authentication . 942 Configuring IIS 7.x 942 Configuring ASP.NET 944 Deeper Into the IIS 7.x Pipeline 945 Denying Access to Anonymous Users 948 Accessing Windows User Information 950 Impersonation 956 Impersonation and Delegation in Windows ... dozen books about NET programming, including Pro Silverlight 3 in C# (Apress, 2009), Pro WPF in C# 2010 (Apress, 2010), and Beginning ASP.NET 4 in C# 2010 (Apress, 2010) He lives in Toronto with his wife and two daughters ■ Adam Freeman is an experienced IT professional who has held senior positions in a range of companies, most recently chief technology officer and chief operating officer of a global... Chapter 24: Profiles 995 Understanding Profiles 995 Profile Performance 996 How Profiles Store Data 997 Profiles and Authentication 998 Profiles vs Custom Data Components .998 Using the SqlProfileProvider 998 Creating the Profile Tables 999 Configuring the Provider 1002 Defining Profile Properties... 42 3 Sorting and Selection 42 5 Advanced Sorting .42 5 Paging the GridView 42 7 Automatic Paging .42 7 Paging and Selection 42 9 Custom Pagination with the ObjectDataSource 42 9 Customizing the Pager Bar 43 2 GridView Templates 43 3 Using Multiple Templates 43 5 xiii www.it-ebooks.info... 337 Filling a DataSet 338 Working with Multiple Tables and Relationships 340 Searching for Specific Rows 343 Using the DataSet in a Data Access Class 344 Data Binding . 345 The DataView Class . 345 Sorting with a DataView . 346 Filtering with a DataView 348 Advanced Filtering with Relationships .
Silverlight 4 in C#
Pro
Dynamic .NET 4. 0
Applications
Pro
Windows Azure
Pro C# 2010
and the
.NET 4 Platform
Pro ASP. NET 4
in C# 2010,
Introducing
.NET 4. 0
Accelerated. FOR PROFESSIONALS BY PROFESSIONALS
®
Matthew MacDonald,
Author of
Pro Silverlight 4 in C#
Beginning ASP. NET 4 in C#
2010
Pro WPF in C# 2010
Pro .NET
Ngày đăng: 06/03/2014, 20:21
Xem thêm: Pro ASP.NET 4 in C# 2010, 4th edition pot, Pro ASP.NET 4 in C# 2010, 4th edition pot, #7: ASP.NET Is Easy to Deploy and Configure