ASP.NET 4 Unleashed

By Stephen Walther, Kevin Scott Hoffman, Nate Scott Dudek

Published by Sams

Published Date: Oct 7, 2010

More Product Info

Description

Following in the tradition of the earlier ASP.NET Unleashed books, ASP.NET 4.0 Unleashed is the one and only indispensable book for building ASP.NET websites. The ASP.NET framework is huge. The size and richness of the framework requires and deserves a comprehensive book on the features of ASP.NET 4.0. This book will contain hundreds of code samples and in-depth tutorials on nearly every aspect of the ASP.NET 4.0 framework. It includes thorough coverage of eagerly awaited new features such as MVC and the Entity Framework. The author, Stephen Walther, is perfectly qualified to write this book. He works as a Program Manager on the Microsoft ASP.NET team, giving him an intimate and inside knowledge of ASP.NET. Over the previous 8 years before re-joining Microsoft, Stephen provided ASP.NET training and consulting for companies and organizations across the US, so he knows the topics that are most relevant to professional ASP.NET developers. Finally, Stephen is a well-known member of the ASP.NET community. He is a Microsoft Software Legend, a frequent speaker for INETA, and a frequent speaker at conferences such as TechEd and ASP.NET Connections.

 

  • Covers the new features of ASP.NET 4.0, including Silverlight, MVC, and the Entity Framework
  • Hundreds of code samples that demonstrate nearly every aspect of ASP.NET 4.0
  • Stephen Walther is one of the most revered people in the ASP.NET community
  • Based upon the author's inside knowledge as part of the ASP.NET team, as well as his prior years of real-world experience
  • Table of Contents

    Introduction     1

    Part I   Building ASP.NET Pages

    1   Overview of the ASP.NET Framework     5

    ASP.NET and the .NET Framework     9

    Understanding the Framework Class Library     9

    Understanding the Common Language Runtime     17

    Understanding ASP.NET Controls     19

    Overview of ASP.NET Controls     19

    Understanding HTML Controls     21

    Understanding and Handling Control Events     22

    Understanding View State     28

    Understanding ASP.NET Pages     34

    Understanding Dynamic Compilation     34

    Understanding Control Trees     38

    Using Code-Behind Pages     39

    Handling Page Events     44

    Using the Page.IsPostBack Property      46

    Debugging and Tracing ASP.NET Pages     48

    Tracing Page Execution     52

    Installing ASP.NET     55

    Summary     57

    2   Using the Standard Controls     59

    Displaying Information      59

    Using the Label Control      60

    Using the Literal Control      65

    Accepting User Input     68

    Using the TextBox Control     68

    Using the CheckBox Control     76

    Using the RadioButton Control     79

    Submitting Form Data     84

    Using the Button Control     84

    Using the LinkButton Control     86

    Using the ImageButton Control     89

    Using Client Scripts with Button Controls     94

    Performing Cross-Page Posts     96

    Specifying a Default Button     100

    Handling the Command Event     101

    Displaying Images     104

    Using the Image Control     104

    Using the ImageMap Control     106

    Using the Panel Control     111

    Using the HyperLink Control     118

    Summary      119

    3   Using the Validation Controls     121

    Overview of the Validation Controls     121

    Validation Controls and JavaScript     126

    Using Page.IsValid     126

    Setting the Display Property     127

    Highlighting Validation Errors     128

    Using Validation Groups     133

    Disabling Validation     138

    Using the RequiredFieldValidator Control     139

    Using the RangeValidator Control     143

    Using the CompareValidator Control     146

    Using the RegularExpressionValidator Control     151

    Using the CustomValidator Control     154

    Using the ValidationSummary Control     162

    Creating Custom Validation Controls     167

    Creating a LengthValidator Control     168

    Creating an AjaxValidator Control     170

    Summary     177

    4   Using the Rich Controls     179

    Accepting File Uploads     180

    Saving Files to the File System     181

    Saving Files to a Database     185

    Uploading Large Files     189

    Displaying a Calendar     195

    Creating a Pop-Up Date Picker     199

    Rendering a Calendar from a Database Table     202

    Displaying Advertisements      207

    Storing Advertisements in an XML File     208

    Storing Advertisements in a Database Table     212

    Tracking Impressions and Transfers     213

    Displaying Different Page Views     220

    Displaying a Tabbed Page View      220

    Displaying a Multipart Form     223

    Displaying a Wizard     226

    Displaying Silverlight Content     231

    Summary     234

    Part II   Designing ASP.NET Websites

    5   Designing Websites with Master Pages     237

    Creating Master Pages     238

    Creating Default Content     242

    Nesting Master Pages     245

    Using Images and Hyperlinks in Master Pages     251

    Registering Master Pages in Web Configuration     254

    Modifying Master Page Content     255

    Using the Title Attribute     255

    Using the Page Header Property     256

    Exposing Master Page Properties     258

    Using FindControl with Master Pages     261

    Loading Master Pages Dynamically     263

    Loading Master Pages Dynamically for Multiple Content Pages     266

    Summary     268

    6   Designing Websites with Themes     269

    Creating Themes     270

    Adding Skins to Themes     270

    Creating Named Skins     273

    Themes Versus StyleSheetThemes     275

    Disabling Themes     277

    Registering Themes in the Web Configuration File     280

    Adding Cascading Style Sheets to Themes     281

    Adding Multiple Cascading Style Sheets to a Theme     285

    Changing Page Layouts with Cascading Style Sheets     285

    Creating Global Themes     290

    Applying Themes Dynamically     291

    Applying Skins Dynamically     293

    Summary     298

    7   Creating Custom Controls with User Controls     299

    Creating User Controls     300

    Registering User Controls in the Web Configuration File     303

    Exposing Properties from a User Control     304

    Exposing Events from a User Control     307

    Creating an AddressForm Control     311

    AJAX and User Controls     317

    Dynamically Loading User Controls     320

    Using the Reference Directive     322

    Creating a Multipage Wizard     327

    Summary     336

    Part III   Performing Data Access

    8   Overview of Data Access     337

    Using DataBound Controls     337

    Working with List Controls     338

    Working with Tabular DataBound Controls     341

    Working with Hierarchical DataBound Controls     345

    Working with Other Controls     348

    Using DataSource Controls     351

    Using ASP.NET Parameters with DataSource Controls     353

    Using Programmatic DataBinding     356

    Understanding Templates and DataBinding Expressions     358

    Using Templates     359

    Using DataBinding Expressions     362

    Using Two-Way DataBinding Expressions     366

    Overview of SQL Server 2008 Express     369

    Features of SQL Server Express     369

    SQL Server 2008 Express Management Tools     370

    Server Databases Versus Local Databases     371

    Sample Database-Driven Web Application     375

    Summary     378

    9   Using the SqlDataSource Control     379

    Creating Database Connections     380

    Connecting to Microsoft SQL Server     380

    Connecting to Other Databases     384

    Storing Connection Strings in the Web Configuration File     386

    Encrypting Connection Strings     388

    Executing Database Commands     389

    Executing Inline SQL Statements    389

    Executing Stored Procedures     392

    Filtering Database Rows     395

    Changing the Data Source Mode     397

    Handling SQL Command Execution Errors     398

    Canceling Command Execution     403

    Using ASP.NET Parameters with the SqlDataSource Control    406

    Using the ASP.NET Parameter Object    406

    Using the ASP.NET ControlParameter Object     410

    Using the ASP.NET CookieParameter Object     415

    Using the ASP.NET FormParameter Object     417

    Using the ASP.NET ProfileParameter Object     420

    Using the QueryStringParameter Object     422

    Using the SessionParameter Object     424

    Programmatically Executing SqlDataSource Commands     426

    Adding ADO.NET Parameters     426

    Executing Insert, Update, and Delete Commands     428

    Executing Select Commands     430

    Caching Database Data with the SqlDataSource Control     435

    Summary     438

    10   Using List Controls     439

    Overview of the List Controls     439

    Declaring List Items     439

    Binding to a Data Source     442

    Determining the Selected List Item     446

    Appending Data Items     450

    Enabling Automatic PostBacks     452

    Using the Items Collection     454

    Working with the DropDownList Control     458

    Working with the RadioButtonList Control     461

    Working with the ListBox Control     463

    Working with the CheckBoxList Control     467

    Working with the BulletedList Control     470

    Creating a Custom List Control     475

    Summary     484

    11   Using the GridView Control     485

    GridView Control Fundamentals     486

    Displaying Data     486

    Selecting Data     489

    Using Data Keys     492

    Sorting Data     495

    Paging Through Data     501

    Editing Data     510

    Displaying Empty Data     514

    Formatting the GridView Control     519

    Using ViewState with the GridView Control     521

    Using Fields with the GridView Control     522

    Using BoundFields     523

    Using CheckBoxFields     526

    Using CommandFields     527

    Using Button Fields     530

    Using HyperLink Fields     534

    Using ImageFields     539

    Using TemplateFields     543

    Working with GridView Control Events     546

    Highlighting GridView Rows     547

    Displaying Column Summaries     550

    Displaying Nested Master/Details Forms     552

    Extending the GridView Control     555

    Creating a LongTextField     556

    Creating a DeleteButtonField     560

    Creating a ValidatedField     563

    Summary     566

    12   Using the DetailsView and FormView Controls     567

    Using the DetailsView Control     567

    Displaying Data with the DetailsView Control     567

    Using Fields with the DetailsView Control     571

    Displaying Empty Data with the DetailsView Control     573

    Paging through Data with the DetailsView Control     576

    Updating Data with the DetailsView Control     584

    Inserting Data with the DetailsView Control     593

    Deleting Data with the DetailsView Control     597

    Working with DetailsView Control Events     598

    Formatting the DetailsView Control     601

    Using the FormView Control     604

    Displaying Data with the FormView Control     605

    Paging Through Data with the FormView Control     607

    Editing Data with the FormView Control     612

    Inserting Data with the FormView Control     616

    Deleting Data with the FormView Control     619

    Summary     622

    13   Using the Repeater and DataList Controls     623

    Using the Repeater Control     623

    Displaying Data with the Repeater Control     624

    Using Templates with the Repeater Control     627

    Handling Repeater Control Events     633

    Using the DataList Control     640

    Displaying Data with the DataList Control     640

    Displaying Data in Multiple Columns     644

    Using Templates with the DataList Control     645

    Selecting Data with the DataList Control     648

    Editing Data with the DataList Control     651

    Formatting the DataList Control     657

    Summary     660

    14   Using the ListView and DataPager Controls     661

    Using the ListView Control     661

    Using the LayoutTemplate and ItemTemplate     662

    Using the GroupTemplate     666

    Selecting a Row     669

    Sorting Database Data     672

    Editing Database Data     675

    Using the DataPager Control     681

    Creating a Custom User Interface for Paging     684

    Data Source Paging with the DataPager Control     686

    Summary     688

    15   Using the Chart Control     689

    Chart Control Fundamentals     690

    Displaying Data with the Chart Control     690

    Sorting and Filtering Data     694

    Using Statistical Formulas     698

    Customizing a Chart’s Appearance     704

    Customizing the Background and Plotting Area     704

    Three-Dimensional Charts     708

    Drill-Down Reports     709

    Summary     710

    16   Using the QueryExtender Control     711

    Introduction to the QueryExtender Control     711

    Querying Data with Declarative Syntax     712

    Querying with the ControlFilterExpression     712

    Querying with the CustomExpression     712

    Querying with the DynamicFilterExpression     713

    Querying with the MethodExpression     713

    Sorting with the OrderByExpression     714

    Querying with the PropertyExpression     715

    Querying with the RangeExpression     715

    Querying with the SearchExpression     716

    Building a Sample Page with the QueryExtender Control     717

    Summary     720

    Part IV   Building Components

    17   Building Components     721

    Building Basic Components     722

    Components and Dynamic Compilation     724

    Mixing Different Language Components in the App_Code Folder     725

    Declaring Methods     726

    Declaring Fields and Properties     728

    Declaring Constructors     733

    Overloading Methods and Constructors     734

    Declaring Namespaces     736

    Creating Partial Classes     738

    Inheritance and Abstract Classes     739

    Declaring Interfaces     742

    Using Access Modifiers     743

    Intellisense and Components     744

    Using ASP.NET Intrinsics in a Component     746

    Building Component Libraries     749

    Compiling Component Libraries     750

    Adding a Reference to a Class Library     753

    Architectural Considerations     757

    Building Multitier Applications     757

    Creating the User Interface Layer     758

    Creating the Business Logic Layer     761

    Creating the Data Access Layer     765

    Summary     769

    18   Using the ObjectDataSource Control     771

    Representing Objects with the ObjectDataSource Control     772

    Binding to a Component     772

    Binding to a DataReader     774

    Binding to a DataSet     776

    Binding to a LINQ to SQL Query     778

    Binding to a Web Service     779

    Using Parameters with the ObjectDataSource Control     783

    Using Different Parameter Types     787

    Passing Objects as Parameters     790

    Paging, Sorting, and Filtering Data with the ObjectDataSource Control     795

    User Interface Paging     795

    Data Source Paging     798

    User Interface Sorting     805

    Data Source Sorting     808

    Filtering Data     813

    Handling ObjectDataSource Control Events     817

    Adding and Modifying Parameters     818

    Handling Method Errors     822

    Handling the ObjectCreating Event     826

    Concurrency and the ObjectDataSource Control     828

    Extending the ObjectDataSource Control     832

    Creating a Custom ObjectDataSource Control     832

    Creating Custom Parameter Objects     835

    Summary     841

    19   Building Data Access Components with ADO.NET     843

    Connected Data Access     844

    Using the Connection Object     848

    Using the Command Object     859

    Using the DataReader Object     881

    Disconnected Data Access     888

    Using the DataAdapter Object     889

    Using the DataTable Object     896

    Using the DataView Object     906

    Using the DataSet Object     908

    Executing Asynchronous Database Commands     911

    Using Asynchronous ADO.NET Methods     912

    Using Asynchronous ASP.NET Pages     914

    Building Database Objects with the .NET Framework     918

    Enabling CLR Integration     918

    Creating User-Defined Types with .NET Framework     919

    Building a Data Access Layer with a User-Defined Type     924

    Creating Stored Procedures with .NET Framework     928

    Creating the Stored Procedure Assembly     928

    Summary     934

    20   Data Access with LINQ to SQL     935

    New C# and VB.NET Language Features     936

    Understanding Automatic Properties     936

    Understanding Initializers     937

    Understanding Type Inference     939

    Understanding Anonymous Types     940

    Understanding Generics     941

    Understanding Lambda Expressions     944

    Understanding Extension Methods     948

    Understanding LINQ     949

    Creating LINQ to SQL Entities     951

    Building Entities by Hand     952

    Building Entities with the LINQ to SQL Designer     956

    Building Entity Associations     959

    Using the LinqDataSource Control     960

    Performing Standard Database Commands with LINQ to SQL     964

    LINQ to Objects Versus LINQ to SQL     964

    Selecting with LINQ to SQL     965

    Inserting with LINQ to SQL     973

    Updating with LINQ to SQL     976

    Deleting with LINQ to SQL     981

    Dynamic Queries     983

    Debugging LINQ to SQL     987

    Creating a Custom LINQ Entity Base Class     991

    Using the Entity Base Class     991

    Performing Standard Data-Access Operations with the EntityBase Class     992

    Performing Validation with the EntityBase Class     994

    Summary     1000

    21   Data Access with WCF Data Services     1001

    Overview of WCF Data Services      1001

    Using Data Services with a Service Reference     1002

    Using Data Services with a Data Context      1007

    Summary     1009

    Part V   Site Navigation

    22   Using the Navigation Controls     1011

    Understanding Site Maps     1011

    Using the SiteMapPath Control     1013

    Formatting the SiteMapPath Control     1016

    Using the Menu Control     1020

    Declaratively Adding Menu Items     1021

    Using the Menu Control with the MultiView Control     1024

    Binding to a Site Map     1027

    Binding to an XML File     1031

    Binding to Database Data     1035

    Formatting the Menu Control     1040

    Using Templates with the Menu Control     1046

    Using the TreeView Control     1049

    Declaratively Adding Tree Nodes     1049

    Displaying Check Boxes with the TreeView Control     1054

    Binding to a Site Map     1057

    Binding to an XML File     1058

    Binding to Database Data     1061

    Using Populate On Demand and AJAX     1064

    Formatting the TreeView Control     1070

    Building a SQL Hierarchical Data Source Control     1077

    Summary     1081

    23   Using Site Maps     1083

    Using the SiteMapDataSource Control     1084

    Setting SiteMapDataSource Properties     1086

    Using the SiteMap Class     1090

    Using the SiteMapNode Class     1093

    Advanced Site Map Configuration     1095

    Using Security Trimming     1096

    Merging Multiple Site Maps     1101

    Creating Custom Site Map Attributes     1103

    Creating Custom Site Map Providers     1105

    Creating the AutoSiteMapProvider     1106

    Creating the SqlSiteMapProvider     1111

    Generating a Google SiteMap File     1116

    Summary     1120

    24   Advanced Navigation     1123

    Remapping URLs     1124

    Creating a Custom UrlRemapper Module     1127

    Using the VirtualPathProvider Class     1132

    Limitations of the VirtualPathProvider Class     1133

    Understanding the VirtualPathProvider Class     1133

    Registering a VirtualPathProvider Class     1135

    Summary     1136

    25   Using the ASP.NET URL Routing Engine     1137

    Introduction to URL Routing     1137

    Basic URL Routing Scenarios     1139

    Mapping Basic URLs     1139

    Mapping URLs with Parameters     1140

    Mapping URLs with Multiple Segments     1141

    Linking to Other Pages with Routes     1142

    Advanced URL Routing     1143

    Using Routes with Default Parameters     1143

    Using Constrained Routes     1144

    Security Concerns with Routes     1146

    Summary     1146

    Part VI   Security

    26   Using the Login Controls     1147

    Overview of the Login Controls     1148

    Using the Login Control     1152

    Automatically Redirecting a User to the Referring Page     1155

    Automatically Hiding the Login Control from Authenticated Users     1155

    Using a Template with the Login Control     1157

    Performing Custom Authentication with the Login Control     1160

    Using the CreateUserWizard Control     1162

    Configuring Create User Form Fields     1163

    Sending a Create User Email Message     1166

    Automatically Redirecting a User to the Referring Page     1169

    Automatically Generating a Password     1171

    Using Templates with the CreateUserWizard Control     1177

    Adding Steps to the CreateUserWizard Control     1181

    Using the LoginStatus Control     1183

    Using the LoginName Control     1185

    Using the ChangePassword Control     1186

    Sending a Change Password Email     1188

    Using Templates with the ChangePassword Control     1190

    Using the PasswordRecovery Control     1193

    Sending the Original Password     1195

    Requiring a Security Question and Answer     1196

    Using Templates with the PasswordRecovery Control     1197

    Using the LoginView Control     1199

    Using Roles with the LoginView Control     1201

    Summary     1204

    27   Using ASP.NET Membership     1205

    Configuring Authentication     1206

    Configuring Forms Authentication     1207

    Using Cookieless Forms Authentication     1209

    Using Sliding Expiration with Forms Authentication     1210

    Using Forms Authentication Across Applications     1210

    Using Forms Authentication Across Domains     1214

    Using the FormsAuthentication Class    1216

    Using the User Class     1220

    Configuring Authorization     1221

    Authorizing by Role     1223

    Authorizing Files by Location     1224

    Using Authorization with Images and Other File Types     1225

    Using ASP.NET Membership     1226

    Using the Membership Application Programming Interface     1227

    Encrypting and Hashing User Passwords     1232

    Modifying User Password Requirements     1234

    Locking Out Bad Users     1235

    Configuring the SQLMembershipProvider     1237

    Configuring the ActiveDirectoryMembershipProvider     1239

    Creating a Custom Membership Provider     1244

    Using the Role Manager     1246

    Configuring the SqlRoleProvider     1247

    Configuring the WindowsTokenRoleProvider     1252

    Configuring the AuthorizationStoreRoleProvider     1254

    Caching Roles in a Browser Cookie     1256

    Using the Roles Application Programming Interface     1258

    Summary     1260

    Part VII   Building ASP.NET Applications

    28   Maintaining Application State     1263

    Using Browser Cookies     1264

    Cookie Security Restrictions     1265

    Creating Cookies     1266

    Reading Cookies     1269

    Setting Cookie Properties     1272

    Deleting Cookies     1273

    Working with Multivalued Cookies     1275

    Using Session State     1279

    Storing Database Data in Session State     1281

    Using the Session Object     1284

    Handling Session Events     1285

    Controlling When a Session Times Out     1287

    Using Cookieless Session State     1288

    Configuring a Session State Store     1290

    Configuring SQL Server Session State     1294

    Using Profiles     1297

    Creating Profile Groups     1301

    Supporting Anonymous Users     1303

    Migrating Anonymous Profiles     1307

    Inheriting a Profile from a Custom Class     1308

    Creating Complex Profile Properties     1310

    Saving Profiles Automatically     1317

    Accessing Profiles from Components     1321

    Using the Profile Manager     1323

    Configuring the Profile Provider     1326

    Creating a Custom Profile Provider     1327

    Summary     1332

    29   Caching Application Pages and Data     1335

    Overview of Caching     1335

    Using Page Output Caching     1337

    Varying the Output Cache by Parameter    1338

    Varying the Output Cache by Control     1342

    Varying the Output Cache by Header     1345

    Varying the Output Cache by Browser     1346

    Varying the Output Cache by a Custom Function     1347

    Specifying the Cache Location     1349

    Creating a Page Output Cache File Dependency     1351

    Expiring the Page Output Cache Programmatically     1353

    Manipulating the Page Output Cache Programmatically      1358

    Creating Page Output Cache Profiles     1360

    Using Partial Page Caching     1361

    Using Post-Cache Substitution     1362

    Caching with a User Control     1366

    Sharing a User Control Output Cache     1370

    Manipulating a User Control Cache Programmatically     1370

    Creating a User Control Cache File Dependency     1372

    Caching Dynamically Loaded User Controls     1373

    Using DataSource Caching     1375

    Using an Absolute Cache Expiration Policy     1376

    Using a Sliding Cache Expiration Policy     1378

    Caching with the ObjectDataSource Control     1380

    Caching with the XmlDataSource Control     1382

    Creating a DataSource Control Key Dependency     1383

    Using Data Caching     1387

    Using the Cache Application Programming Interface     1387

    Adding Items to the Cache     1390

    Adding Items with an Absolute Expiration Policy     1390

    Adding Items with a Sliding Expiration Policy     1393

    Adding Items with Dependencies     1394

    Specifying Cache Item Priorities     1396

    Configuring the Cache     1397

    Using SQL Cache Dependencies     1399

    Using Polling SQL Cache Dependencies     1399

    Configuring Polling SQL Cache Dependencies     1400

    Using Polling SQL Cache Dependencies with Page Output Caching     1403

    Using Polling SQL Cache Dependencies with DataSource Caching      1405

    Using Polling SQL Cache Dependencies with Data Caching.........1406

    Using Push SQL Cache Dependencies     1408

    Configuring Push SQL Cache Dependencies     1409

    Using Push SQL Cache Dependencies with Page Output Caching     1411

    Using Push SQL Cache Dependencies with DataSource Caching      1412

    Using Push SQL Cache Dependencies with Data Caching     1415

    Summary     1416

    30   Localizing Applications for Multiple Languages     1419

    Setting the Current Culture     1420

    Setting a Culture Manually     1421

    Automatically Detecting a Culture     1428

    Setting the Culture in the Web Configuration File     1432

    Culture and ASP.NET Controls     1433

    Using the CultureInfo Class     1434

    Using the CultureInfo Class to Format String Values    1435

    Comparing and Sorting String Values     1437

    Creating Local Resources     1438

    Explicit Localization Expressions     1438

    Implicit Localization Expressions     1441

    Using Local Resources with Page Properties     1443

    Retrieving Local Resources Programmatically     1444

    Creating Global Resources     1446

    Retrieving Global Resources Programmatically     1448

    Using Strongly Typed Localization Expressions     1449

    Using the Localize Control     1450

    Summary     1452

    31   Working with the HTTP Runtime     1453

    Creating a Custom BuildProvider     1454

    Creating a Simple BuildProvider     1454

    Creating a Data Access Component BuildProvider     1458

    Creating a Custom ExpressionBuilder     1464

    Creating a Lookup ExpressionBuilder     1465

    Creating HTTP Handlers     1470

    Creating a Generic Handler     1470

    Implementing the IHttpHandler Interface     1473

    Creating an Asynchronous HTTP Handler     1478

    Working with HTTP Applications and HTTP Modules     1482

    Creating a Global.asax File     1483

    Creating Custom HTTP Modules     1487

    Summary     1489

    32   Building Dynamic Data Applications    1491

    Introducing ASP.NET Dynamic Data     1491

    Building a Dynamic Data Application     1492

    Working with Dynamic Data Templates     1496

    Making Shared Template Changes    1497

    Creating Type and Entity-Specific Templates     1497

    Summary     1500

    33   Building ASP.NET MVC Applications     1501

    Introducing the ASP.NET MVC Framework     1501

    Models     1502

    Views     1502

    Controllers     1502

    Creating Your First ASP.NET MVC Application     1502

    Building an MVC Page     1505

    Accepting Form Input     1507

    Summary     1509

    34   Configuring Applications     1511

    Overview of Website Configuration     1511

    Using the Web Site Administration Tool     1513

    Using the ASP.NET Microsoft Management Console Snap-In     1514

    ASP.NET Configuration Sections     1515

    Applying Configuration Settings to a Particular Path     1517

    Locking Configuration Settings     1518

    Adding Custom Application Settings     1520

    Placing Configuration Settings in an External File    1522

    Using the Configuration API     1523

    Reading Configuration Sections from the Current Application     1524

    Opening a Configuration File     1529

    Opening a Configuration File on a Remote Server     1533

    Using the Configuration Class     1536

    Modifying Configuration Sections     1539

    Provisioning a New Website     1543

    Creating Custom Configuration Sections     1546

    Creating a Configuration Element Collection     1551

    Creating Encrypted Configuration Sections     1556

    Encrypting Sections with the aspnet_regiis Tool    1557

    Encrypting Sections Programmatically     1558

    Deploying Encrypted Web Configuration Files     1561

    Summary     1564

    35   Deploying ASP.NET Web Applications     1565

    Packaging Web Applications     1565

    Using Web.config Transformations     1569

    Deploying Databases     1571

    One-Click Publishing Web Applications     1572

    Summary     1573

    Part VIII   Custom Control Building

    36   Building Custom Controls     1575

    Overview of Custom Control Building     1575

    Building Fully Rendered Controls     1576

    Building Composite Controls     1587

    Building Hybrid Controls     1590

    View State and Control State     1596

    Supporting View State     1596

    Supporting Control State     1599

    Processing Postback Data and Events     1602

    Handling Postback Data     1602

    Handling Postback Events     1606

    Working with Control Property Collections     1618

    Using the ParseChildren Attribute     1618

    Using the AddParsedSubObject() Method     1626

    Using a ControlBuilder     1626

    Creating a Better Designer Experience     1631

    Applying Design-Time Attributes to a Control     1631

    Creating Control Designers     1636

    Creating a Container ControlDesigner     1636

    Adding Smart Tasks     1640

    Summary     1645

    37   Building Templated Databound Controls     1647

    Creating Templated Controls     1647

    Implementing the ITemplate Interface     1648

    Creating a Default Template     1652

    Supporting Simplified Databinding     1656

    Supporting Two-Way Databinding     1660

    Creating Templated Databound Controls     1666

    Creating a DivView Control     1667

    Summary     1672

    Part IX   ASP.NET AJAX

    38   Using Server-Side ASP.NET AJAX     1673

    The Ajax Vision     1674

    Server-Side Ajax Versus Client-Side Ajax     1675

    Debugging Ajax Applications     1675

    Using the UpdatePanel Control     1677

    Specifying UpdatePanel Triggers     1686

    Nesting UpdatePanel Controls     1688

    Updating UpdatePanels Programmatically     1692

    UpdatePanels and JavaScript     1694

    UpdatePanel Server-Side Page Execution Life Cycle     1697

    UpdatePanel Client-Side Page Execution Life Cycle     1700

    Canceling the Current Asynchronous Postback     1707

    Aborting the Previous Asynchronous Postback     1710

    Passing Additional Information During an Asynchronous Postback     1712

    Handling UpdatePanel Errors Gracefully     1714

    UpdatePanel Performance     1720

    Using the Timer Control     1724

    Using the UpdateProgress Control     1728

    Summary     1731

    39   Using the ASP.NET AJAX Control Toolkit     1733

    Using the ASP.NET AJAX Control Toolkit     1734

    Overview of the Toolkit Controls     1737

    Using the AutoComplete Control     1739

    Using the AutoCompleteExtender with a Page Method     1740

    Using the AutoCompleteExtender with a Web Service Method     1743

    Using Text and Value Pairs with the AutoCompleteExtender     1746

    Using the DragPanel Control     1750

    Using the FilteredTextBox Control     1754

    Using the MaskedEdit Control     1756

    Using the Animation Control     1759

    Using the UpdatePanelAnimation Control     1764

    Summary     1768

    40   Client-Side Ajax with jQuery     1769

    What Is jQuery?     1769

    Using the jQuery Library     1770

    Creating a jQuery File     1771

    The $ Method and $(document).ready()     1773

    jQuery Selectors     1774

    Calling Web Services from the Client     1776

    Calling an External Web Service     1776

    Calling a Static Page Method     1780

    Summary     1781

    Index     1783

     

    Purchase Info

    Buy Access

    ISBN-10: 0-13-256585-4

    ISBN-13: 978-0-13-256585-1

    Format: On-line Supplement

    $59.99

    You can purchase immediate access to this online product with a credit card.