Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Beginning ASP .NET 4 in C # 2010
Nội dung xem thử
Mô tả chi tiết
this print for content only—size & color not accurate spine = 1.90625" 1016 page count MacDonald ASP.NET 4 in C# 2010
THE EXPERT’S VOICE® IN .NET
Beginning
ASP.NET 4
in C# 2010
CYAN
MAGENTA
YELLOW
BLACK
PANTONE 123 C
Matthew MacDonald
Companion
eBook Available
Start your journey with the fundamentals
of building ASP.NET websites
BOOKS FOR PROFESSIONALS BY PROFESSIONALS®
Beginning ASP.NET 4 in C# 2010
Dear Reader,
Welcome to the most up-to-date and comprehensive beginning ASP NET book
you’ll find on any shelf. As you probably already know, ASP.NET is a framework
for developing modern web applications. In the right hands, ASP.NET produces
web applications that are secure, blisteringly fast, and highly scalable. Best of
all, ASP.NET includes a huge set of ready-to-use features like website navigation, data binding, themes, and user management. ASP.NET allows you to create everything from a dynamic personal website to a full-scale e-commerce
storefront.
In this book, I assume that you have only basic knowledge of C#, although
those coming from a more experienced background will find that the basics are
reviewed quickly and efficiently. As you explore ASP.NET, you’ll learn the key
database, security, and performance principles you need to know in order to
design a solid web application. My book will also teach you to use techniques
such as object-oriented programming and code-behind development from the
beginning, rather than fake it with simplified techniques that won’t work well
in real life.
Once you’ve reached the end of the book, you will have mastered the core
techniques of website programming, and you’ll have the knowledge necessary
to begin work as a professional ASP.NET developer.
Welcome aboard!
Matthew MacDonald (Microsoft MVP, MCSD)
Matthew MacDonald,
Author of
Pro ASP.NET 4 in C# 2010
Pro Silverlight 4 in C#
Pro WPF in C# 2010
ASP.NET: The Complete
Reference
US $49.99
Shelve in:
Programming Languages / C#
User level:
Beginning–Intermediate
THE APRESS ROADMAP
Pro
ASP.NET 4 CMS
Pro
ASP.NET MVC 2 Framework
Pro
ASP.NET 4 in C# 2010
Pro
C# 2010 and the
.NET 4 Platform
Beginning
ASP.NET 4 in C# 2010
www.apress.com
SOURCE CODE ONLINE
Companion eBook
See last page for details
on $10 eBook version
ISBN 978-1-4302-2608-6
9 781430 226086
5 49 9 9
Beginning
Download from Wow! eBook <www.wowebook.com>
Beginning ASP.NET 4
in C# 2010
■ ■ ■
Matthew MacDonald
Beginning ASP.NET in C# 2010
Copyright © 2010 by Matthew MacDonald
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-2608-6
ISBN-13 (electronic): 978-1-4302-2609-3
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 Reviewer: Damien Foggon
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 Editor: Kim Wimpsett
Compositor: Mary Sudul
Indexer: BIM Indexing & Proofreading Services
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[email protected], or visit www.springeronline.com.
For information on translations, please e-mail [email protected], 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.
For my wonderful family,
Faria, Maya, and Brenna
■ CONTENTS
v
Contents
About the Author .................................................................................................. xxv
About the Technical Reviewer............................................................................. xxvi
Acknowledgments .............................................................................................. xxvii
Introduction....................................................................................................... xxviii
Part 1: Introducing .NET ...........................................................................................1
■ Chapter 1: The .NET Framework ..........................................................................3
The Evolution of Web Development .................................................................................3
HTML and HTML Forms ..........................................................................................................................3
Server-Side Programming......................................................................................................................6
Client-Side Programming .......................................................................................................................7
The .NET Framework .......................................................................................................9
C#, VB, and the .NET Languages ..........................................................................................................11
The Common Language Runtime .........................................................................................................13
The .NET Class Library..........................................................................................................................14
Visual Studio.........................................................................................................................................15
The Last Word................................................................................................................16
■ Chapter 2: The C# Language ..............................................................................17
The .NET Languages ......................................................................................................17
C# Language Basics ......................................................................................................18
Case Sensitivity ....................................................................................................................................18
Commenting .........................................................................................................................................18
Statement Termination.........................................................................................................................19
■ CONTENTS
vi
Blocks...................................................................................................................................................20
Variables and Data Types ..............................................................................................20
Assignment and Initializers ..................................................................................................................22
Strings and Escaped Characters ..........................................................................................................24
Arrays ...................................................................................................................................................24
Enumerations .......................................................................................................................................26
Variable Operations .......................................................................................................27
Advanced Math.....................................................................................................................................29
Type Conversions .................................................................................................................................29
Object-Based Manipulation ...........................................................................................31
The String Type ....................................................................................................................................32
The DateTime and TimeSpan Types .....................................................................................................34
The Array Type......................................................................................................................................36
Conditional Logic ...........................................................................................................37
The if Statement ...................................................................................................................................38
The switch Statement...........................................................................................................................39
Loops .............................................................................................................................40
The for Loop..........................................................................................................................................40
The foreach Loop..................................................................................................................................41
The while loop ......................................................................................................................................42
Methods.........................................................................................................................43
Parameters ...........................................................................................................................................44
Method Overloading .............................................................................................................................45
Optional and Named Parameters..........................................................................................................46
Delegates..............................................................................................................................................47
The Last Word................................................................................................................48
■ Chapter 3: Types, Objects, and Namespaces .....................................................49
The Basics About Classes..............................................................................................49
Static Members ....................................................................................................................................50
A Simple Class......................................................................................................................................51
■ CONTENTS
vii
Building a Basic Class ...................................................................................................51
Creating an Object................................................................................................................................53
Adding Properties .................................................................................................................................54
Automatic Properties............................................................................................................................56
Adding a Method ..................................................................................................................................56
Adding a Constructor............................................................................................................................57
Adding an Event....................................................................................................................................59
Testing the Product Class.....................................................................................................................60
Value Types and Reference Types.................................................................................63
Assignment Operations ........................................................................................................................63
Equality Testing ....................................................................................................................................64
Passing Parameters by Reference and by Value ..................................................................................64
Reviewing .NET Types ..........................................................................................................................65
Understanding Namespaces and Assemblies................................................................67
Using Namespaces...............................................................................................................................68
Importing Namespaces.........................................................................................................................69
Assemblies ...........................................................................................................................................70
Advanced Class Programming.......................................................................................71
Inheritance............................................................................................................................................71
Static Members ....................................................................................................................................73
Casting Objects.....................................................................................................................................74
Partial Classes......................................................................................................................................76
Generics................................................................................................................................................77
The Last Word................................................................................................................79
Part 2: Developing ASP.NET Applications...............................................................81
■ Chapter 4: Visual Studio.....................................................................................83
The Promise of Visual Studio.........................................................................................83
Creating Websites..........................................................................................................84
Creating an Empty Web Application .....................................................................................................85
■ CONTENTS
viii
Websites and Web Projects ..................................................................................................................89
The Hidden Solution Files.....................................................................................................................90
The Solution Explorer ...........................................................................................................................91
Adding Web Forms ...............................................................................................................................92
Migrating a Website from a Previous Version of Visual Studio.............................................................93
Designing a Web Page...................................................................................................95
Adding Web Controls ............................................................................................................................96
The Properties Window ........................................................................................................................98
The Anatomy of a Web Form .......................................................................................100
The Web Form Markup .......................................................................................................................100
The Page Directive..............................................................................................................................101
The Doctype........................................................................................................................................102
The Essentials of XHTML ....................................................................................................................104
Writing Code ................................................................................................................110
The Code-Behind Class ......................................................................................................................110
Adding Event Handlers .......................................................................................................................110
Outlining .............................................................................................................................................112
IntelliSense.........................................................................................................................................113
Code Formatting and Coloring............................................................................................................117
Visual Studio Debugging..............................................................................................118
The Visual Studio Web Server ............................................................................................................118
Single-Step Debugging.......................................................................................................................119
Variable Watches................................................................................................................................124
The Last Word..............................................................................................................125
■ Chapter 5: Web Form Fundamentals................................................................127
The Anatomy of an ASP.NET Application .....................................................................127
ASP.NET File Types.............................................................................................................................128
ASP.NET Application Directories.........................................................................................................129
Introducing Server Controls.........................................................................................130
HTML Server Controls.........................................................................................................................131
■ CONTENTS
ix
Converting an HTML Page to an ASP.NET Page..................................................................................131
View State ..........................................................................................................................................134
The HTML Control Classes..................................................................................................................135
Adding the Currency Converter Code .................................................................................................138
Event Handling....................................................................................................................................140
Behind the Scenes with the Currency Converter................................................................................142
Error Handling.....................................................................................................................................144
Improving the Currency Converter...............................................................................144
Adding Multiple Currencies ................................................................................................................145
Storing Information in the List............................................................................................................146
Adding Linked Images ........................................................................................................................147
Setting Styles .....................................................................................................................................150
A Deeper Look at HTML Control Classes......................................................................151
HTML Control Events ..........................................................................................................................151
Advanced Events with the HtmlInputImage Control ...........................................................................152
The HtmlControl Base Class ...............................................................................................................154
The HtmlContainerControl Class.........................................................................................................155
The HtmlInputControl Class ................................................................................................................155
The Page Class ............................................................................................................156
Sending the User to a New Page ........................................................................................................157
HTML Encoding...................................................................................................................................158
Application Events .......................................................................................................160
The global.asax File............................................................................................................................161
Additional Application Events .............................................................................................................162
ASP.NET Configuration ................................................................................................163
The web.config File ............................................................................................................................163
Nested Configuration..........................................................................................................................164
Storing Custom Settings in the web.config File .................................................................................166
The Website Administration Tool (WAT) .............................................................................................168
The Last Word..............................................................................................................170
■ CONTENTS
x
■ Chapter 6: Web Controls ..................................................................................173
Stepping Up to Web Controls. .....................................................................................173
Basic Web Control Classes . .................................................................................................................174
The Web Control Tags...........................................................................................................................175
Web Control Classes . ..................................................................................................176
The WebControl Base Class..................................................................................................................177
Units .....................................................................................................................................................179
Enumerations .......................................................................................................................................179
Colors ...................................................................................................................................................180
Fonts.....................................................................................................................................................181
Focus ....................................................................................................................................................183
The Default Button................................................................................................................................183
List Controls. ...............................................................................................................184
Multiple-Select List Controls . ..............................................................................................................185
The BulletedList Control .......................................................................................................................187
Table Controls. ............................................................................................................188
Web Control Events and AutoPostBack . .....................................................................193
How Postback Events Work. ................................................................................................................197
The Page Life Cycle ..............................................................................................................................198
A Simple Web Page. ....................................................................................................201
Improving the Greeting Card Generator. ..............................................................................................206
Generating the Cards Automatically . ...................................................................................................208
The Last Word. ............................................................................................................211
■ Chapter 7: Error Handling, Logging, and Tracing.............................................213
Common Errors. ..........................................................................................................213
Exception Handling. ....................................................................................................215
The Exception Class .............................................................................................................................215
The Exception Chain .............................................................................................................................217
Download from Wow! eBook <www.wowebook.com>
■ CONTENTS
xi
Handling Exceptions ....................................................................................................218
Catching Specific Exceptions .............................................................................................................219
Nested Exception Handlers.................................................................................................................221
Exception Handling in Action..............................................................................................................222
Mastering Exceptions .........................................................................................................................224
Throwing Your Own Exceptions...................................................................................224
Logging Exceptions......................................................................................................229
Viewing the Windows Event Logs.......................................................................................................229
Writing to the Event Log .....................................................................................................................232
Custom Logs.......................................................................................................................................234
A Custom Logging Class.....................................................................................................................236
Retrieving Log Information .................................................................................................................237
Page Tracing................................................................................................................239
Enabling Tracing.................................................................................................................................240
Tracing Information ............................................................................................................................240
Writing Trace Information...................................................................................................................246
Application-Level Tracing...................................................................................................................250
The Last Word..............................................................................................................252
■ Chapter 8: State Management .........................................................................253
The Problem of State ...................................................................................................253
View State....................................................................................................................253
The ViewState Collection....................................................................................................................254
A View State Example.........................................................................................................................254
Making View State Secure .................................................................................................................255
Retaining Member Variables ..............................................................................................................257
Storing Custom Objects......................................................................................................................259
Transferring Information Between Pages....................................................................260
Cross-Page Posting ............................................................................................................................260
The Query String.................................................................................................................................265
■ CONTENTS
xii
Cookies ........................................................................................................................269
A Cookie Example...............................................................................................................................271
Session State...............................................................................................................272
Session Tracking ................................................................................................................................272
Using Session State............................................................................................................................273
A Session State Example....................................................................................................................274
Session State Configuration ........................................................................................277
Cookieless ..........................................................................................................................................278
Timeout...............................................................................................................................................281
Mode...................................................................................................................................................281
Application State..........................................................................................................286
An Overview of State Management Choices................................................................288
The Last Word..............................................................................................................290
Part 3: Building Better Web Forms .......................................................................291
■ Chapter 9: Validation .......................................................................................293
Understanding Validation.............................................................................................293
The Validation Controls.......................................................................................................................294
Server-Side Validation........................................................................................................................295
Client-Side Validation .........................................................................................................................295
The Validation Controls................................................................................................295
A Simple Validation Example..............................................................................................................297
Other Display Options .........................................................................................................................299
Manual Validation...............................................................................................................................302
Validating with Regular Expressions ..................................................................................................304
A Validated Customer Form................................................................................................................308
Validation Groups................................................................................................................................313
The Last Word..............................................................................................................314
■ CONTENTS
xiii
■ Chapter 10: Rich Controls ................................................................................315
The Calendar................................................................................................................315
Formatting the Calendar.....................................................................................................................317
Restricting Dates ................................................................................................................................319
The AdRotator..............................................................................................................323
The Advertisement File.......................................................................................................................323
The AdRotator Class ...........................................................................................................................325
Pages with Multiple Views...........................................................................................326
The MultiView Control ........................................................................................................................328
The Wizard Control .............................................................................................................................333
The Last Word..............................................................................................................341
■ Chapter 11: User Controls and Graphics..........................................................343
User Controls ...............................................................................................................343
Creating a Simple User Control ..........................................................................................................344
Independent User Controls .................................................................................................................347
Integrated User Controls.....................................................................................................................349
User Control Events ............................................................................................................................352
Passing Information with Events ........................................................................................................354
Dynamic Graphics........................................................................................................357
Basic Drawing ....................................................................................................................................357
Drawing a Custom Image ...................................................................................................................360
Placing Custom Images Inside Web Pages.........................................................................................361
Image Format and Quality ..................................................................................................................363
The Last Word..............................................................................................................366
■ Chapter 12: Styles, Themes, and Master Pages...............................................367
Styles...........................................................................................................................367
Style Types .........................................................................................................................................368
Creating a Basic Inline Style...............................................................................................................368
Creating a Style Sheet ........................................................................................................................377