Read Build Your Own ASP.NET 3.5 Website Using C# & VB Online
Authors: Cristian Darie,Zak Ruvalcaba,Wyatt Barnett
Tags: #C♯ (Computer program language), #Active server pages, #Programming Languages, #C#, #Web Page Design, #Computers, #Web site development, #internet programming, #General, #C? (Computer program language), #Internet, #Visual BASIC, #Microsoft Visual BASIC, #Application Development, #Microsoft .NET Framework
Building the Master Page
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
202
Using the Master Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Debugging and Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Debugging with Visual Web Developer
. . . . . . . . . . . . . . . . . . . . . .
212
Other Kinds of Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Handling Exceptions Locally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Using the Validation Controls
. . . . . . 227
Client-side Validation and Server-side Validation
. . . . . . . . . . . . . . . . .
228
Introducing the ASP.NET Validation Controls
. . . . . . . . . . . . . . . . . . . . .
228
Enforcing Validation on the Server
. . . . . . . . . . . . . . . . . . . . . . . . .
232
RequiredFieldValidator
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
239
CompareValidator
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
240
RangeValidator
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
243
ValidationSummary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
RegularExpressionValidator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
CustomValidator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Licensed to [email protected]
xiii
Validation Groups
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
252
Updating Dorknozzle
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
256
Development
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
What Is a Database?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
264
Creating a New Database Using Visual Web Developer . . . . . . . . . 267
Creating a New Database Using SQL Server Management
Creating Database Tables
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
269
Column Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Creating the Employees Table
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
280
Creating the Remaining Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Populating the Data Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Relational Database Design Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Using Database Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Implementing Relationships in the Dorknozzle Database . . . . . . . 297
Diagrams and Table Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Speaking SQL
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
307
Reading Data from a Single Table
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
308
Using the SELECT Statement
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
310
Selecting Certain Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Licensed to [email protected]
xiv
Selecting Unique Data with DISTINCT
. . . . . . . . . . . . . . . . . . . . .
314
Row Filtering with WHERE
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
316
Selecting Ranges of Values with BETWEEN
. . . . . . . . . . . . . . . . . . .
317
Matching Patterns with LIKE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Using the IN Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Sorting Results Using ORDER BY . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Limiting the Number of Results with TOP . . . . . . . . . . . . . . . . . . . 321
Reading Data from Multiple Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Arithmetic Functions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
329
String Functions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
330
Date and Time Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Working with Groups of Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
The COUNT Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Grouping Records Using GROUP BY . . . . . . . . . . . . . . . . . . . . . . . . 334
Filtering Groups Using HAVING
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
336
The SUM, AVG, MIN, and MAX Functions
. . . . . . . . . . . . . . . . . . . . . .
337
The INSERT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
The UPDATE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
The DELETE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
ADO.NET
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
347
Introducing ADO.NET
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
348
Importing the SqlClient Namespace . . . . . . . . . . . . . . . . . . . . . 350
Licensed to [email protected]
xv
Defining the Database Connection . . . . . . . . . . . . . . . . . . . . . . . . . 351
Preparing the Command
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
352
Executing the Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Setting Up Database Authentication
. . . . . . . . . . . . . . . . . . . . . . . .
356
Reading the Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Using Parameters with Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Bulletproofing Data Access Code . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Using the Repeater Control
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
370
Creating the Dorknozzle Employee Directory . . . . . . . . . . . . . . . . . . . . . 376
More Data Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Inserting Records
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
388
Updating Records
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
395
Deleting Records
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
410
Using Stored Procedures
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
414
Chapter 10 Displaying Content Using Data
Lists
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Handling DataList Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Editing DataList Items and Using Templates . . . . . . . . . . . . . . . . . . . . 430
DataList and Visual Web Developer
. . . . . . . . . . . . . . . . . . . . . . . . . . .
439
Styling the DataList
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
441
Chapter 11 Managing Content Using Grid
View and Details View
. . . . . . . . . . . . . . . .
445
Using the GridView Control
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
446
Customizing the GridView Columns . . . . . . . . . . . . . . . . . . . . . . . 453
Licensed to [email protected]
xvi
Styling the GridView with Templates, Skins, and CSS . . . . . . . . . . 454
Selecting Grid Records
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
458
Using the DetailsView Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
Styling the DetailsView
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
467
GridView and DetailsView Events . . . . . . . . . . . . . . . . . . . . . . . . . . 469
Entering Edit Mode
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
473
Updating DetailsView Records
. . . . . . . . . . . . . . . . . . . . . . . . . .
481
Chapter 12 Advanced Data Access
. . . . . . . . . . . . . . . . 487
Using Data Source Controls
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
488
Binding the GridView to a SqlDataSource
. . . . . . . . . . . . . . . . . .
490
Binding the DetailsView to a SqlDataSource
. . . . . . . . . . . . . .
499
Displaying Lists in DetailsView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
More on SqlDataSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
Working with Data Sets and Data Tables . . . . . . . . . . . . . . . . . . . . . . . . . 515
What Is a Data Set Made From? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
Binding DataSets to Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Implementing Paging
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
525
Storing Data Sets in View State . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
Implementing Sorting
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
530
Filtering Data
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
542