1. Trang chủ
  2. » Công Nghệ Thông Tin

Beginning ASP.NET 3.5 in C# 2008. ppt

994 4,2K 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Beginning ASP.NET 3.5 in C# 2008: From Novice to Professional, Second Edition
Tác giả Matthew MacDonald
Trường học Not specified
Chuyên ngành Computer Science
Thể loại Sách hướng dẫn
Năm xuất bản 2007
Thành phố United States of America
Định dạng
Số trang 994
Dung lượng 25,29 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

this print for content only—size & color not accurate spine = 1.857" 992 page countBeginning ASP.NET 3.5 in C# 2008: From Novice to Professional, SECoNd EdiTioN Dear Reader,Welcome to t

Trang 1

this print for content only—size & color not accurate spine = 1.857" 992 page count

Beginning ASP.NET 3.5 in C# 2008:

From Novice to Professional, SECoNd EdiTioN

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 any-thing 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

From Novice to Professional

SECoND EDiTioN

Matthew MacDonald

Companion eBook Available

THE APRESS ROADMAP

Pro ASP.NET 3.5 Server Controls with AJAX Components Pro C# 2008 and the NET 3.5 Platform Pro LINQ:

Language Integrated Query

in C# 2008

Pro WPF:

Windows Presentation Foundation in NET 3.0

Trang 4

Beginning ASP.NET 3.5 in C# 2008: From Novice to Professional, Second Edition

Copyright © 2007 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 retrievalsystem, without the prior written permission of the copyright owner and the publisher

ISBN-13 (pbk): 978-1-59059-891-7

ISBN-10 (pbk): 1-59059-891-1

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 trademarkowner, 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 | Production Editor: Laura Esterman

Copy Editor: Liz Welch

Associate Production Director: Kari Brooks-Copony

Compositor: Dina Quan

Proofreaders: April Eddy, Nancy Sixsmith

Indexer: John Collin

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 orders-ny@springer-sbm.com, orvisit 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 info@apress.com, or visit

http://www.apress.com

The information in this book is distributed on an “as is” basis, without warranty Although every tion has been taken in the preparation of this work, neither the author(s) nor Apress shall have anyliability to any person or entity with respect to any loss or damage caused or alleged to be caused directly

precau-or indirectly by the infprecau-ormation contained in this wprecau-ork

The source code for this book is available to readers at www.apress.com

8911FM.qxd 10/18/07 4:12 PM Page ii

Trang 5

For my wonderful family, Faria and Maya

Trang 6

Contents at a Glance

About the Author xxv

About the Technical Reviewer xxvii

Acknowledgments xxix

Introduction xxxi

PART 1 ■ ■ ■ Introducing NET ■ CHAPTER 1 The NET Framework 3

■ CHAPTER 2 The C# Language 19

■ CHAPTER 3 Types, Objects, and Namespaces 53

PART 2 ■ ■ ■ Developing ASP.NET Applications ■ CHAPTER 4 Visual Studio 87

■ CHAPTER 5 Web Form Fundamentals 129

■ CHAPTER 6 Web Controls 171

■ CHAPTER 7 State Management 211

■ CHAPTER 8 Error Handling, Logging, and Tracing 249

■ CHAPTER 9 Deploying ASP.NET Applications 295

PART 3 ■ ■ ■ Building Better Web Forms ■ CHAPTER 10 Validation 333

■ CHAPTER 11 Rich Controls 355

■ CHAPTER 12 User Controls and Graphics 381

■ CHAPTER 13 Styles, Themes, and Master Pages 405

■ CHAPTER 14 Website Navigation 445

iv

8911FM.qxd 10/18/07 4:12 PM Page iv

Trang 7

PART 4 ■ ■ ■ Working with Data

■ CHAPTER 15 ADO.NET Fundamentals 483

■ CHAPTER 16 Data Binding 537

■ CHAPTER 17 The Data Controls 577

■ CHAPTER 18 Files and Streams 617

■ CHAPTER 19 XML 647

PART 5 ■ ■ ■ Website Security ■ CHAPTER 20 Security Fundamentals 691

■ CHAPTER 21 Membership 725

■ CHAPTER 22 Profiles 763

PART 6 ■ ■ ■ Advanced ASP.NET ■ CHAPTER 23 Component-Based Programming 789

■ CHAPTER 24 Caching 821

■ CHAPTER 25 ASP.NET AJAX 855

■ INDEX 891

v

Trang 8

8911FM.qxd 10/18/07 4:12 PM Page vi

Trang 9

About the Author xxv

About the Technical Reviewer xxvii

Acknowledgments xxix

Introduction xxxi

PART 1 ■ ■ ■ Introducing NET ■ 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 14

The NET Class Library 16

Visual Studio 16

The Last Word 17

■ CHAPTER 2 The C# Language 19

The NET Languages 19

C# Language Basics 20

Case Sensitivity 20

Commenting 21

Statement Termination 21

Blocks 22

Variables and Data Types 22

Assignment and Initializers 24

Strings and Escaped Characters 26

Arrays 26

Enumerations 29

vii

Trang 10

Variable Operations 30

Advanced Math 31

Type Conversions 32

Object-Based Manipulation 34

The String Type 34

The DateTime and TimeSpan Types 36

The Array Type 39

Conditional Logic 40

The if Statement 41

The switch Statement 41

Loops 42

The for Loop 43

The foreach Loop 44

The while loop 45

Methods 46

Parameters 47

Method Overloading 48

Delegates 49

The Last Word 51

■ CHAPTER 3 Types, Objects, and Namespaces 53

The Basics About Classes 53

Static Members 55

A Simple Class 55

Building a Basic Class 56

Creating an Object 57

Adding Properties 58

Adding a Method 61

Adding a Constructor 61

Adding an Event 62

Testing the Product Class 64

Value Types and Reference Types 66

Assignment Operations 67

Equality Testing 67

Passing Parameters by Reference and by Value 68

Reviewing NET Types 69

Understanding Namespaces and Assemblies 71

Using Namespaces 72

Importing Namespaces 73

Assemblies 74

C O N T E N T S

viii

8911FM.qxd 10/18/07 4:12 PM Page viii

Trang 11

Advanced Class Programming 75

Inheritance 75

Static Members 76

Casting Objects 77

Partial Classes 80

Generics 81

The Last Word 82

PART 2 ■ ■ ■ Developing ASP.NET Applications ■ CHAPTER 4 Visual Studio 87

The Promise of Visual Studio 87

Creating Websites 88

Creating a New Web Application 89

Websites and Web Projects 91

The Hidden Solution Files 92

The Solution Explorer 93

Adding Web Forms 94

Migrating a Website from a Previous Version of Visual Studio 96

Designing a Web Page 97

Adding Web Controls 98

The Properties Window 100

The Anatomy of a Web Form 102

The Web Form Markup 102

The Page Directive 103

The Doctype 104

The Essentials of XHTML 106

Writing Code 112

The Code-Behind Class 112

Adding Event Handlers 113

IntelliSense and Outlining 115

Visual Studio Debugging 120

The Visual Studio Web Server 121

Single-Step Debugging 122

Variable Watches 126

The Last Word 127

C O N T E N T S ix

Trang 12

■ CHAPTER 5 Web Form Fundamentals 129

The Anatomy of an ASP.NET Application 129

ASP.NET File Types 130

ASP.NET Application Directories 131

Introducing Server Controls 132

HTML Server Controls 133

Converting an HTML Page to an ASP.NET Page 134

View State 137

The HTML Control Classes 138

Adding the Currency Converter Code 140

Event Handling 142

Behind the Scenes with the Currency Converter 144

Error Handling 146

Improving the Currency Converter 147

Adding Multiple Currencies 147

Storing Information in the List 148

Adding Linked Images 150

Setting Styles 152

A Deeper Look at HTML Control Classes 153

HTML Control Events 153

Advanced Events with the HtmlInputImage Control 154

The HtmlControl Base Class 156

The HtmlContainerControl Class 157

The HtmlInputControl Class 157

The Page Class 158

Sending the User to a New Page 159

HTML Encoding 160

Application Events 161

The Global.asax File 162

Additional Application Events 163

ASP.NET Configuration 163

The web.config File 164

Nested Configuration 165

Storing Custom Settings in the web.config File 166

The Website Administration Tool (WAT) 168

The Last Word 170

C O N T E N T S

x

8911FM.qxd 10/18/07 4:12 PM Page x

Trang 13

■ CHAPTER 6 Web Controls 171

Stepping Up to Web Controls 171

Basic Web Control Classes 172

The Web Control Tags 173

Web Control Classes 174

The WebControl Base Class 175

Units 176

Enumerations 177

Colors 178

Fonts 179

Focus 181

The Default Button 181

List Controls 182

Multiple-Select List Controls 183

The BulletedList Control 185

Table Controls 186

Web Control Events and AutoPostBack 191

How Postback Events Work 195

The Page Life Cycle 196

A Simple Web Page 199

Improving the Greeting Card Generator 204

Generating the Cards Automatically 206

The Last Word 209

■ CHAPTER 7 State Management 211

The Problem of State 211

View State 212

The ViewState Collection 212

A View State Example 213

Making View State Secure 214

Retaining Member Variables 215

Storing Custom Objects 217

Transferring Information Between Pages 218

Cross-Page Posting 219

The Query String 224

Cookies 228

A Cookie Example 230

C O N T E N T S xi

Trang 14

Session State 231

Session Tracking 231

Using Session State 232

A Session State Example 233

Session State Configuration 236

Cookieless 237

Timeout 240

Mode 241

Application State 245

An Overview of State Management Choices 247

The Last Word 248

■ CHAPTER 8 Error Handling, Logging, and Tracing 249

Common Errors 249

Exception Handling 251

The Exception Class 252

The Exception Chain 253

Handling Exceptions 254

Catching Specific Exceptions 255

Nested Exception Handlers 257

Exception Handling in Action 258

Mastering Exceptions 260

Throwing Your Own Exceptions 260

Logging Exceptions 264

Viewing the Windows Event Logs 265

Writing to the Event Log 268

Custom Logs 270

A Custom Logging Class 271

Retrieving Log Information 273

Error Pages 275

Error Modes 277

Custom Error Pages 278

Page Tracing 280

Enabling Tracing 280

Tracing Information 281

Writing Trace Information 287

Application-Level Tracing 291

The Last Word 293

C O N T E N T S

xii

8911FM.qxd 10/18/07 4:12 PM Page xii

Trang 15

■ CHAPTER 9 Deploying ASP.NET Applications 295

ASP.NET Applications and the Web Server 295

How Web Servers Work 295

The Virtual Directory 297

Web Application URLs 297

Web Farms 299

Internet Information Services (IIS) 300

The Many Faces of IIS 300

Installing IIS 5 (in Windows XP) 301

Installing IIS 6 (in Windows Server 2003) 302

Installing IIS 7 (in Windows Vista) 304

Installing IIS 7 (in Windows Server 2008) 305

Registering the ASP.NET File Mappings 305

Verifying That ASP.NET Is Correctly Installed 306

Managing Websites with IIS Manager 308

Creating a Virtual Directory 310

Configuring a Virtual Directory 312

Deploying a Simple Site 316

Web Applications and Components 317

Other Configuration Steps 317

Code Compilation 318

The ASP.NET Account 319

Deploying with Visual Studio 323

Creating a Virtual Directory for a New Project 324

Copying a Website 326

Publishing a Website 328

The Last Word 330

PART 3 ■ ■ ■ Building Better Web Forms ■ CHAPTER 10 Validation 333

Understanding Validation 333

The Validator Controls 334

Server-Side Validation 335

Client-Side Validation 335

C O N T E N T S xiii

Trang 16

The Validation Controls 336

A Simple Validation Example 337

Other Display Options 339

Manual Validation 341

Validating with Regular Expressions 343

A Validated Customer Form 347

Validation Groups 352

The Last Word 354

■ CHAPTER 11 Rich Controls 355

The Calendar 355

Formatting the Calendar 357

Restricting Dates 358

The AdRotator 363

The Advertisement File 363

The AdRotator Class 364

Pages with Multiple Views 366

The MultiView Control 367

The Wizard Control 372

The Last Word 379

■ CHAPTER 12 User Controls and Graphics 381

User Controls 381

Creating a Simple User Control 382

Independent User Controls 384

Integrated User Controls 387

User Control Events 389

Passing Information with Events 391

Dynamic Graphics 394

Basic Drawing 394

Drawing a Custom Image 397

Placing Custom Images Inside Web Pages 398

Image Format and Quality 400

The Last Word 403

C O N T E N T S

xiv

8911FM.qxd 10/18/07 4:12 PM Page xiv

c1f7fa939e14ed6480dade2089a967cf

Trang 17

■ CHAPTER 13 Styles, Themes, and Master Pages 405

Styles 405

Style Types 406

Creating a Basic Inline Style 406

Creating a Style Sheet 414

Applying Style Sheet Rules 417

Themes 419

How Themes Work 419

Applying a Simple Theme 421

Handling Theme Conflicts 422

Creating Multiple Skins for the Same Control 424

More Advanced Skins 425

Master Page Basics 427

A Simple Master Page and Content Page 428

How Master Pages and Content Pages Are Connected 431

A Master Page with Multiple Content Regions 433

Default Content 436

Master Pages and Relative Paths 437

Advanced Master Pages 438

Table-Based Layouts 438

Code in a Master Page 442

Interacting with a Master Page Programmatically 442

The Last Word 444

■ CHAPTER 14 Website Navigation 445

Site Maps 445

Defining a Site Map 446

Seeing a Simple Site Map in Action 450

Binding an Ordinary Page to a Site Map 451

Binding a Master Page to a Site Map 452

Binding Portions of a Site Map 454

The SiteMap Class 459

Mapping URLs 461

The SiteMapPath Control 462

Customizing the SiteMapPath 463

Using SiteMapPath Styles and Templates 464

Adding Custom Site Map Information 466

C O N T E N T S xv

Trang 18

The TreeView Control 467

TreeView Properties 467

TreeView Styles 470

The Menu Control 474

Menu Styles 476

Menu Templates 477

The Last Word 480

PART 4 ■ ■ ■ Working with Data ■ CHAPTER 15 ADO.NET Fundamentals 483

Understanding Data Management 483

The Role of the Database 483

Database Access in the Web World 485

Configuring Your Database 486

SQL Server Express 486

Browsing and Modifying Databases in Visual Studio 487

The sqlcmd Command-Line Tool 489

SQL Basics 490

Running Queries in Visual Studio 491

The Select Statement 493

The SQL Update Statement 495

The SQL Insert Statement 497

The SQL Delete Statement 498

ADO.NET Basics 498

Data Namespaces 500

The Data Provider Classes 501

Direct Data Access 503

Creating a Connection 504

The Select Command 511

The DataReader 512

Putting It All Together 513

Updating Data 517

Disconnected Data Access 527

Selecting Disconnected Data 529

Selecting Multiple Tables 531

Defining Relationships 533

The Last Word 536

C O N T E N T S

xvi

8911FM.qxd 10/18/07 4:12 PM Page xvi

Trang 19

■ CHAPTER 16 Data Binding 537

Introducing Data Binding 537

Types of ASP.NET Data Binding 538

How Data Binding Works 538

Single-Value Data Binding 539

A Simple Data Binding Example 539

Simple Data Binding with Properties 542

Problems with Single-Value Data Binding 543

Using Code Instead of Simple Data Binding 544

Repeated-Value Data Binding 544

Data Binding with Simple List Controls 545

A Simple List Binding Example 546

Strongly Typed Collections 547

Multiple Binding 548

Data Binding with a Dictionary Collection 549

Using the DataValueField Property 551

Data Binding with ADO.NET 552

Creating a Record Editor 554

Data Source Controls 559

The Page Life Cycle with Data Binding 561

The SqlDataSource 561

Selecting Records 563

Parameterized Commands 565

Handling Errors 570

Updating Records 571

The Last Word 576

■ CHAPTER 17 The Data Controls 577

The GridView 577

Automatically Generating Columns 578

Defining Columns 579

Formatting the GridView 583

Formatting Fields 584

Using Styles 585

Formatting-Specific Values 588

Selecting a GridView Row 589

Adding a Select Button 590

Using Selection to Create Master-Details Pages 591

C O N T E N T S xvii

Trang 20

Editing with the GridView 593

Sorting and Paging the GridView 596

Sorting 596

Paging 599

Using GridView Templates 601

Using Multiple Templates 603

Editing Templates in Visual Studio 604

Handling Events in a Template 605

Editing with a Template 606

The DetailsView and FormView 610

The DetailsView 610

The FormView 613

The Last Word 615

■ CHAPTER 18 Files and Streams 617

Files and Web Applications 617

File System Information 618

The Path Class 619

The Directory and File Classes 620

The DirectoryInfo and FileInfo Classes 625

The DriveInfo Class 627

A Sample File Browser 628

Reading and Writing with Streams 632

Text Files 632

Binary Files 635

Shortcuts for Reading and Writing Files 636

A Simple Guest Book 637

Allowing File Uploads 642

The FileUpload Control 643

The Last Word 646

■ CHAPTER 19 XML 647

XML’s Hidden Role in NET 647

Configuration Files 647

XHTML 647

ADO.NET Data Access 648

Anywhere Miscellaneous Data Is Stored 648

C O N T E N T S

xviii

8911FM.qxd 10/18/07 4:12 PM Page xviii

Trang 21

XML Explained 648

Improving the List with XML 650

XML Basics 651

Attributes 652

Comments 653

The XML Classes 654

The XML TextWriter 654

The XML Text Reader 657

Working with XML Documents in Memory 662

Reading an XML Document 667

Searching an XML Document 670

XML Validation 671

XML Namespaces 671

XML Schema Definition 673

Validating an XML Document 675

XML Display and Transforms 678

The Xml Web Control 681

XML Data Binding 682

Nonhierarchical Binding 683

Hierarchical Binding with the TreeView 685

Binding to XML Content from Other Sources 687

The Last Word 688

PART 5 ■ ■ ■ Website Security ■ CHAPTER 20 Security Fundamentals 691

Determining Security Requirements 691

The ASP.NET Security Model 692

The Visual Studio Web Server 696

Authentication and Authorization 696

Forms Authentication 697

Web.config Settings 699

Authorization Rules 699

The WAT 703

The Login Page 706

Windows Authentication 710

Web.config Settings 711

IIS Settings 713

A Windows Authentication Test 716

C O N T E N T S xix

Trang 22

Impersonation 717

Understanding Impersonation 718

Programmatic Impersonation 718

Confidentiality with SSL 719

Creating a Certificate Request 719

Secure Sockets Layer 721

The Last Word 723

■ CHAPTER 21 Membership 725

The Membership Data Store 725

Membership with SQL Server 2005 Express 727

Using the Full Version of SQL Server 729

Configuring the Membership Provider 731

Creating Users with the WAT 735

The Membership and MembershipUser Classes 737

Authentication with Membership 741

Disabled Accounts 742

The Security Controls 742

The Login Control 743

The CreateUserWizard Control 748

The PasswordRecovery Control 752

Role-Based Security 755

Creating and Assigning Roles 755

Restricting Access Based on Roles 758

The LoginView Control 759

The Last Word 761

■ CHAPTER 22 Profiles 763

Understanding Profiles 763

Profile Performance 764

How Profiles Store Data 765

Using the SqlProfileProvider 766

Enabling Authentication 767

Using the Full Version of SQL Server 767

The Profile Databases 769

Defining Profile Properties 770

Using Profile Properties 771

C O N T E N T S

xx

8911FM.qxd 10/18/07 4:12 PM Page xx

Trang 23

Profile Serialization 773

Profile Groups 775

Profiles and Custom Data Types 775

The Profile API 779

Anonymous Profiles 782

The Last Word 785

PART 6 ■ ■ ■ Advanced ASP.NET

■ CHAPTER 23 Component-Based Programming 789

Why Use Components? 789

Adding a Reference to the Component 797

Using the Component 799

Properties and State 801

A Stateful Account Class 802

A Stateless AccountUtility Class 803

Data-Access Components 804

A Simple Data-Access Component 804

Using the Data-Access Component 809

Enhancing the Component with Error Handling 812

Enhancing the Component with Aggregate Information 813

Trang 24

Caching on the Client Side 825

Caching and the Query String 826

Caching with Specific Query String Parameters 827

A Multiple Caching Example 827

Custom Caching Control 829

Fragment Caching 830

Cache Profiles 831

Data Caching 832

Adding Items to the Cache 832

A Simple Cache Test 833

Caching to Provide Multiple Views 835

Caching with the Data Source Controls 839

Caching with Dependencies 843

File Dependencies 843

Cache Item Dependencies 844

SQL Server 2000 Cache Dependencies 844

SQL Server 2005 and 2008 Cache Dependencies 849

The Last Word 853

■ CHAPTER 25 ASP.NET AJAX 855

Understanding Ajax 856

Ajax: The Good 856

Ajax: The Bad 856

The ASP.NET AJAX Toolkit 857

Trang 25

Timed Refreshes 876

The ASP.NET AJAX Control Toolkit 878

Installing the ASP.NET AJAX Control Toolkit 878

The Accordion 880

The AutoCompleteExtender 884

Getting More Controls 887

The Last Word 888

■ INDEX 891

C O N T E N T S xxiii

Trang 26

8911FM.qxd 10/18/07 4:12 PM Page xxiv

Trang 27

About the Author

■ MATTHEW MACDONALDis an author, educator, and Microsoft MVP He’s aregular contributor to programming journals and the author of more than

a dozen books about NET programming, including Pro ASP.NET 3.5 in C# 2008 (Apress, 2007), Pro WPF: Windows Presentation Foundation in NET 3.0 (Apress, 2007), and Pro NET 2.0 Windows Forms and Custom Con- trols in C# (Apress, 2006) He lives in Toronto with his wife and daughter.

xxv

Trang 28

8911FM.qxd 10/18/07 4:12 PM Page xxvi

Trang 29

About the Technical Reviewer

■ ANDY OLSENis a freelance developer and consultant based in the UK

Andy has been working with NET since Beta 1 days and has coauthoredand reviewed several books for Apress, covering C#, Visual Basic,ASP.NET, and other topics Andy is a keen football and rugby fan andenjoys running and skiing (badly) Andy lives by the seaside in Swanseawith his wife Jayne and children Emily and Thomas, who have just dis-covered the thrills of surfing and look much cooler than he ever will!

xxvii

Trang 30

8911FM.qxd 10/18/07 4:12 PM Page xxviii

Trang 31

No author could complete a book without a small army of helpful individuals I’m deeply

indebted to the whole Apress team, including Laura Esterman, who helped everything move

swiftly and smoothly; Liz Welch, who performed the copy edit; Andy Olsen, who performed a

thorough technical review; and many other individuals who worked behind the scenes

index-ing pages, drawindex-ing figures, and proofreadindex-ing the final copy I also owe a special thanks to

Gary Cornell, who always offers invaluable advice about projects and the publishing world

I’d also like to thank those who were involved with previous editions of this book Thisincludes Emma Acker and Jane Brownlow at Osborne McGraw-Hill and previous tech reviewers

Ronald Landers, Gavin Smyth, Tim Verycruysse, and Julian Skinner I also owe a hearty thanks

to all the readers who caught errors and took the time to report problems and ask good

ques-tions, including Rick Falck, who submitted detailed comments for virtually every chapter

Keep sending in the feedback—it helps make better books!

Finally, I’d never write any book without the support of my wife and these special

individuals: Nora, Razia, Paul, and Hamid Thanks, everyone!

xxix

Trang 32

8911FM.qxd 10/18/07 4:12 PM Page xxx

Trang 33

ASP.NET is Microsoft’s platform for developing web applications Using ASP.NET, you can

create e-commerce shops, data-driven portal sites, and just about anything else you can find

on the Internet Best of all, you don’t need to paste together a jumble of HTML and script code

in order to program the Web Instead, you can create full-scale web applications using nothing

but code and a design tool such as Visual Studio 2008

The cost of all this innovation is the learning curve To master ASP.NET, you need to learnhow to use an advanced design tool (Visual Studio), a toolkit of objects (the NET Framework),

and an object-oriented programming language (such as C# 2008) Taken together, these topics

provide more than enough to overwhelm any first-time web developer

Beginning ASP.NET 3.5 in C# 2008 assumes you want to master ASP.NET, starting from the

basics Using this book, you’ll build your knowledge until you understand the concepts,

tech-niques, and best practices for writing sophisticated web applications The journey is long, but

it’s also satisfying At the end of the day, you’ll find that ASP.NET allows you to tackle

chal-lenges that are simply out of reach on many other platforms

About This Book

This book explores ASP.NET, which is a core part of Microsoft’s NET Framework The NET

Framework is not a single application—it’s actually a collection of technologies bundled into

one marketing term The NET Framework includes languages such as C# 2008 and VB 2008,

an engine for hosting programmable web pages and web services (ASP.NET), a model for

interacting with databases (ADO.NET), and a class library stocked with tools for everything

from reading files to validating a password To master ASP.NET, you need to learn about each

of these ingredients

This book covers all these topics from the ground up As a result, you’ll find yourself ing many techniques that will interest any NET developer, even those who create Windows

learn-applications For example, you’ll learn about component-based programming, you’ll discover

structured error handling, and you’ll see how to access files, XML, and relational databases

You’ll also learn the key topics you need for web programming, such as state management,

web controls, and caching By the end of this book, you’ll be ready to create your own rich web

applications and make them available over the Internet

xxxi

Trang 34

■ Note This book has a single goal: to be as relentlessly practical as possible I take special care not toleave you hanging in the places where other ASP.NET books abandon their readers For example, whenencountering a new technology, you’ll learn not only how it works but also why (and when) you should use it.

I also highlight common questions and best practices with tip boxes and sidebars at every step of the way

Finally, if a topic is covered in this book, it’s covered right This means you won’t learn how to perform a task

without learning about potential drawbacks and the problems you might run into—and how you can guard yourself with real-world code

safe-Who Should Read This Book

This book is aimed at anyone who wants to create dynamic websites with ASP.NET Ideally,you’ll have experience with a previous version of a programming language such as C or Java Ifnot, you should be familiar with basic programming concepts (loops, conditional structures,arrays, and so on), whether you’ve learned them in Visual Basic, Pascal, Turing, or a com-pletely different programming language This is the only requirement for reading this book.Understanding HTML and XHTML (the markup languages used to write web pages) willhelp you, but it’s not required ASP.NET works at a higher level, allowing you to deal with full-featured web controls instead of raw web page markup However, you’ll get a quick overview

of XHTML fundamentals in Chapter 4, and you’ll learn about CSS, the Cascading Style Sheetstandard, in Chapter 13

This book will also appeal to programmers who have some experience with C# and NETbut haven’t worked with ASP.NET in the past However, if you’ve used a previous version ofASP.NET, you’ll probably be more interested in a faster-paced book such as Pro ASP.NET 3.5 in C# 2008 (Apress, 2007) instead.

■ Note This book begins with the fundamentals: C# syntax, the basics of object-oriented programming, andthe philosophy of the NET Framework If you haven’t worked with C# before, you can spend a little moretime with the syntax review in Chapter 2 to pick up everything you need to know If you aren’t familiar withthe ideas of object-oriented programming, Chapter 3 fills in the blanks with a quick, but comprehensive,review of the subject The rest of the book builds on this foundation, from ASP.NET basics to advanced exam-ples that show the techniques you’ll use in real-world web applications

What You Need to Use This Book

The main prerequisite for this book is a computer with Visual Studio 2008 You can use thescaled-down Visual Studio Web Developer 2008 Express Edition (available at http://msdn.microsoft.com/vstudio/express) with a few minor limitations Most significantly, you can’tuse Visual Studio Web Developer to create separate components, a technique discussed in

Chapter 23 However, you can get around this limitation by using two express editions—Visual

Studio Web Developer Express Edition to create your websites and Visual C# 2008 Express

I N T R O D U C T I O N

xxxii

8911FM.qxd 10/18/07 4:12 PM Page xxxii

Trang 35

Edition to create your components Even if you don’t use this trick, you’ll still be able to run all

the sample code for this book

To develop ASP.NET web pages, you need Windows XP, Windows Vista, Windows Server

2003, or Windows Server 2008 To use an ASP.NET web page (in other words, to surf to it over

the Internet), you simply need a web browser ASP.NET fully supports Internet Explorer,

Firefox, Opera, Safari, Netscape, and any other browser that respects the HTML standard on

virtually any operating system There are a few features that won’t work with extremely old

browsers (such as the ASP.NET AJAX techniques you’ll learn about in Chapter 25), and you’ll

consider these limitations when they crop up You’ll also notice that this book features a

vari-ety of screen captures—some taken in Windows XP and others in Windows Vista This should

make perfect sense After all, your choice of operating system (and the operating system of the

people who are browsing your website) won’t change how your web pages work

If you plan to host websites on your computer, you’ll also need to use IIS (Internet mation Services), the web hosting software that’s part of the Windows operating system You

Infor-might also use IIS if you want to test deployment strategies You’ll learn how to use and

config-ure IIS in Chapter 9

Finally, this book includes several examples that use SQL Server You can use any version

of SQL Server to try these examples, including SQL Server 2005 Express Edition, which is

included with some versions of Visual Studio (and freely downloadable at http://msdn

microsoft.com/sql/express) If you use other relational database engines, the same concepts

will apply; you will just need to modify the example code

Code Samples

To master ASP.NET, you need to experiment with it One of the best ways to learn ASP.NET is to

try the code samples for this book, examine them, and dive in with your own modifications

To obtain the sample code, surf to http://www.prosetech.com or the publisher’s website at

http://www.apress.com You’ll also find some links to additional resources and any updates

or errata that affect the book

■ Note Previous editions of this book tackled web services, a feature that allows you to create code

rou-tines that can be called by other applications over the Internet Web services are more interesting when

considering rich client development (because they allow you to give web features to ordinary desktop

applications), and they’re in the process of being replaced by a new technology known as WCF (Windows

Communication Foundation) For those reasons, web services aren’t covered in this book However, if you

want to branch out and explore the web service world, you can download the web service chapters from the

previous edition of this book from the book’s download page The information in these chapters still applies

to ASP.NET 3.5, because the web service feature hasn’t changed

I N T R O D U C T I O N xxxiii

Trang 36

Part 1: Introducing NET

You could start coding an ASP.NET application right away by following the examples in thesecond part of this book But to really master ASP.NET, you need to understand a few funda-mental concepts about the NET Framework

Chapter 1 sorts through the Microsoft jargon and explains what the NET Frameworkreally does and why you need it Chapter 2 introduces you to C# 2008 with a comprehensivelanguage tour Finally, Chapter 3 explains the basics of modern object-oriented programming

Part 2: Developing ASP.NET Applications

The second part of this book delves into the heart of ASP.NET programming and introduces itsnew event-based model In Chapter 4, you’ll take a look around the Visual Studio design envi-ronment and learn a few fundamentals about web forms, events, and XHTML In Chapters 5and 6, you learn how to program a web page’s user interface through a layer of objects called

server controls.

Next, you’ll explore a few more essentials of ASP.NET programming Chapter 7 describesdifferent strategies for state management Chapter 8 presents different techniques for han-dling errors Finally, Chapter 9 walks you through the steps for deploying your application to

a web server Taken together, these chapters contain all the core concepts you need to designweb pages and create a basic ASP.NET website

Part 3: Building Better Web Forms

The third part of this book explores several topics that can help you transform ordinary webpages into polished web applications In Chapter 10 you’ll learn to use the validation controls

to catch invalid data before the user submits it In Chapter 11 you’ll move on to consider some

of ASP.NET’s more exotic controls, such as the Calendar and Wizard In Chapter 12, you’ll learnhow to build your own reusable blocks of web page user interface and draw custom graphics

on the fly Finally, Chapter 13 shows how you can standardize the appearance of an entirewebsite with themes and master pages, and Chapter 14 shows you how to add navigation to

a website

Part 4: Working with Data

Almost all software needs to work with data, and web applications are no exception InChapter 15, you begin exploring the world of data by considering ADO.NET—Microsoft’s NET-powered technology for interacting with relational databases Chapters 16 and 17 explain how

I N T R O D U C T I O N

xxxiv

8911FM.qxd 10/18/07 4:12 PM Page xxxiv

Trang 37

to use data binding and the advanced ASP.NET data controls to create web pages that

inte-grate attractive, customizable data displays with automatic support for paging, sorting, and

editing

Chapter 18 moves out of the database world and considers how to interact with files

Chapter 19 broadens the picture even further and describes how ASP.NET applications can

use the XML support that’s built into the NET Framework

Part 5: Website Security

Every public website needs to deal with security—making sure that sensitive data cannot be

accessed by the wrong users In Chapter 20, you’ll start out learning how ASP.NET provides

dif-ferent authentication systems for dealing with users You can write your own custom logic to

verify user names and passwords, or you can use existing Windows account information In

Chapter 21, you’ll learn about the membership model, which extends the authentication

sys-tem with prebuilt security controls and handy objects that automate common tasks If you

want, you can even get ASP.NET to create and manage a database with user information

auto-matically Finally, Chapter 21 deals with another add-on—the profiles model that lets you

store information for each user automatically, without writing any database code

Part 6: Advanced ASP.NET

This part includes the advanced topics you can use to take your web applications that extra

step Chapter 23 covers how you can create reusable components for ASP.NET applications

Chapter 24 demonstrates how careful use of caching can boost the performance of almost any

web application Finally Chapter 25 introduces ASP.NET AJAX, one of the hottest new topics in

web development Using ASP.NET AJAX, you can build web pages that feel more responsive

and add rich features that are usually limited to desktop applications, like text autocompletion

and drag-and-drop

Feedback

This book has the ambitious goal of being the best tutorial and reference for ASP.NET Toward

that end, your comments and suggestions are extremely helpful You can send complaints,

adulation, and everything in between directly to apress@prosetech.com I can’t solve your

ASP.NET problems or critique your code, but I do benefit from information about what this

book did right and wrong (and what it may have done in an utterly confusing way) You can

also send comments about the website support for this book

I N T R O D U C T I O N xxxv

Trang 38

8911FM.qxd 10/18/07 4:12 PM Page xxxvi

Trang 39

Introducing NET

P A R T 1

Ngày đăng: 16/03/2014, 20:20

TỪ KHÓA LIÊN QUAN