- •Preface
- •Who Should Read This Book
- •Organization and Presentation
- •Contacting the Authors
- •Acknowledgments
- •Contents
- •Introduction
- •Why Microsoft .NET?
- •The Microsoft .NET Architecture
- •Internet Standards
- •The Evolution of ASP
- •The Benefits of ASP.NET
- •What Is .NET?
- •.NET Experiences
- •.NET Clients
- •.NET Services
- •.NET Servers
- •Review
- •Quiz Yourself
- •Installation Requirements
- •Installing ASP.NET and ADO.NET
- •Installing the .NET Framework SDK
- •Testing Your Installation
- •Support for .NET
- •Review
- •Quiz Yourself
- •Designing a Database
- •Normalization of Data
- •Security Considerations
- •Review
- •Quiz Yourself
- •Creating a Database
- •Creating SQL Server Tables
- •Creating a View
- •Creating a Stored Procedure
- •Creating a Trigger
- •Review
- •Quiz Yourself
- •INSERT Statements
- •DELETE Statements
- •UPDATE Statements
- •SELECT Statements
- •Review
- •Quiz Yourself
- •The XML Design Specs
- •The Structure of XML Documents
- •XML Syntax
- •XML and the .NET Framework
- •Review
- •Quiz Yourself
- •ASP.NET Events
- •Page Directives
- •Namespaces
- •Choosing a Language
- •Review
- •Quiz Yourself
- •Introducing HTML Controls
- •Using HTML controls
- •How HTML controls work
- •Intrinsic HTML controls
- •HTML Control Events
- •The Page_OnLoad event
- •Custom event handlers
- •Review
- •Quiz Yourself
- •Intrinsic Controls
- •Using intrinsic controls
- •Handling intrinsic Web control events
- •List Controls
- •Rich Controls
- •Review
- •Quiz Yourself
- •Creating a User Control
- •Adding User Control Properties
- •Writing Custom Control Methods
- •Implementing User Control Events
- •Review
- •Quiz Yourself
- •Common Aspects of Validation Controls
- •Display property
- •Type Property
- •Operator Property
- •Using Validation Controls
- •RequiredFieldValidator
- •RegularExpressionValidator
- •CompareValidator
- •RangeValidator
- •CustomValidator
- •ValidationSummaryx
- •Review
- •Quiz Yourself
- •Maintaining State Out of Process for Scalability
- •No More Cookies but Plenty of Milk!
- •Out of Process State Management
- •Review
- •Quiz Yourself
- •Introducing the Key Security Mechanisms
- •Web.config and Security
- •Special identities
- •Using request types to limit access
- •New Tricks for Forms-based Authentication
- •Using the Passport Authentication Provider
- •Review
- •Quiz Yourself
- •ASP.NET Updates to the ASP Response Model
- •Caching with ASP.NET
- •Page Output Caching
- •Absolute cache expiration
- •Sliding cache expiration
- •Fragment Caching
- •Page Data Caching
- •Expiration
- •File and Key Dependency and Scavenging
- •Review
- •Quiz Yourself
- •A Brief History of Microsoft Data Access
- •Differences between ADO and ADO.NET
- •Transmission formats
- •Connected versus disconnected datasets
- •COM marshaling versus text-based data transmission
- •Variant versus strongly typed data
- •Data schema
- •ADO.NET Managed Provider Versus SQL Managed Provider
- •Review
- •Quiz Yourself
- •Review
- •Quiz Yourself
- •Creating a Connection
- •Opening a Connection
- •Using Transactions
- •Review
- •Quiz Yourself
- •Building a Command
- •Connection property
- •CommandText property
- •CommandType property
- •CommandTimeout property
- •Appending parameters
- •Executing a Command
- •ExecuteNonQuery method
- •Prepare method
- •ExecuteReader method
- •Review
- •Quiz Yourself
- •Introducing DataReaders
- •Using DataReader Properties
- •Item property
- •FieldCount property
- •IsClosed property
- •RecordsAffected property
- •Using DataReader Methods
- •Read method
- •GetValue method
- •Get[Data Type] methods
- •GetOrdinal method
- •GetName method
- •Close method
- •Review
- •Quiz Yourself
- •Constructing a DataAdapter Object
- •SelectCommand property
- •UpdateCommand, DeleteCommand, and InsertCommand properties
- •Fill method
- •Update method
- •Dispose method
- •Using DataSet Objects
- •DataSetName property
- •CaseSensitive property
- •Review
- •Quiz Yourself
- •Constructing a DataSet
- •Tables property
- •TablesCollection Object
- •Count property
- •Item property
- •Contains method
- •CanRemove method
- •Remove method
- •Add method
- •DataTable Objects
- •CaseSensitive property
- •ChildRelations property
- •Columns property
- •Constraints property
- •DataSet property
- •DefaultView property
- •ParentRelations property
- •PrimaryKey property
- •Rows property
- •Dispose method
- •NewRow method
- •Review
- •Quiz Yourself
- •What Is Data Binding?
- •Binding to Arrays and Extended Object Types
- •Binding to Database Data
- •Binding to XML
- •TreeView Control
- •Implement the TreeView server control
- •Review
- •Quiz Yourself
- •DataGrid Control Basics
- •Binding a set of data to a DataGrid control
- •Formatting the output of a DataGrid control
- •Master/Detail Relationships with the DataGrid Control
- •Populating the Master control
- •Filtering the detail listing
- •Review
- •QUIZ YOURSELF
- •Updating Your Data
- •Handling the OnEditCommand Event
- •Handling the OnCancelCommand Event
- •Handling the OnUpdateCommand Event
- •Checking that the user input has been validated
- •Executing the update process
- •Deleting Data with the OnDeleteCommand Event
- •Sorting Columns with the DataGrid Control
- •Review
- •Quiz Yourself
- •What Is Data Shaping?
- •Why Shape Your Data?
- •DataSet Object
- •Shaping Data with the Relations Method
- •Review
- •Quiz Yourself
- •OLEDBError Object Description
- •OLEDBError Object Properties
- •OLEDBError Object Methods
- •OLEDBException Properties
- •Writing Errors to the Event Log
- •Review
- •Quiz Yourself
- •Introducing SOAP
- •Accessing Remote Data with SOAP
- •SOAP Discovery (DISCO)
- •Web Service Description Language (WSDL)
- •Using SOAP with ASP.NET
- •Review
- •Quiz Yourself
- •Developing a Web Service
- •Consuming a Web Service
- •Review
- •Quiz Yourself
- •ASP and ASP.NET Compatibility
- •Scripting language limitations
- •Rendering HTML page elements
- •Using script blocks
- •Syntax differences and language modifications
- •Running ASP Pages under Microsoft.NET
- •Using VB6 Components with ASP.NET
- •Review
- •Quiz Yourself
- •Preparing a Migration Path
- •ADO and ADO.NET Compatibility
- •Running ADO under ASP.NET
- •Early Binding ADO COM Objects in ASP.NET
- •Review
- •Quiz Yourself
- •Answers to Part Reviews
- •Friday Evening Review Answers
- •Saturday Morning Review Answers
- •Saturday Afternoon Review Answers
- •Saturday Evening Review Answers
- •Sunday Morning Review Answers
- •Sunday Afternoon Review Answers
- •What’s on the CD-ROM
- •System Requirements
- •Using the CD with Windows
- •What’s on the CD
- •The Software Directory
- •Troubleshooting
- •ADO.NET Class Descriptions
- •Coding Differences in ASP and ASP.NET
- •Retrieving a Table from a Database
- •Displaying a Table from a Database
- •Variable Declarations
- •Statements
- •Comments
- •Indexed Property Access
- •Using Arrays
- •Initializing Variables
- •If Statements
- •Case Statements
- •For Loops
- •While Loops
- •String Concatenation
- •Error Handling
- •Conversion of Variable Types
- •Index
Coding Differences in ASP and ASP.NET |
359 |
How you do it with VB .NET in ASP.NET
Dim i As Integer
Dim s As String
Dim s1, s2 As String
Dim o as new OleDbDataAdapter()
How you do it with C# in ASP.NET
int i; String s;
String s1, s2;
OleDbDataAdapter o = new OleDbDataAdapter();
Statements
How you did it with VBScript in ASP
Response.Write(“SomeText”)
How you do it with VB .NET in ASP.NET
Response.Write(“SomeText”)
How you do it with C# in ASP.NET
Response.Write(“SomeText”);
Comments
How you did it with VBScript in ASP
‘A One Liner
‘Multi-line
‘Comment
360 |
Appendix D |
How you do it with VB .NET in ASP.NET
‘A One Liner
‘Multi-line
‘Comment
How you do it with C# in ASP.NET
// A One Liner
/* Multi-line Comment */
Indexed Property Access
How you did it with VBScript in ASP
Dim s
Dim s1
s = Request.QueryString(“Name”)
s1 = Request.Cookies(“Key”)
How you do it with VB .NET in ASP.NET
Dim s As String
Dim s1 As String
s = Request.QueryString(“Name”)
s1 = Request.Cookies(“Key”).Value
How you do it with C# in ASP.NET
s= Request.QueryString[“Name”];
s1 = Request.Cookies[“Name”].Value;
Using Arrays
How you did it with VBScript in ASP
‘ One Dimensional Array with 3 elements Dim x(3)
x(0) = “SomeText1”
Coding Differences in ASP and ASP.NET |
361 |
x(1) = “SomeText2”
x(2) = “SomeText3”
‘ Two Dimensional Array with 3 elements Dim y(3,3)
y(0,0) = “SomeText1”
y(1,0) = “SomeText2”
y(2,0) = “SomeText3”
How you do it with VB .NET in ASP.NET
‘One Dimensional Array with 3 elements Dim x(3) As String
x(0) = “SomeText1”
x(1) = “SomeText2”
x(2) = “SomeText3”
‘Two Dimensional Array
Dim y(3,3) As String y(0,0) = “SomeText1” y(1,0) = “SomeText2” y(2,0) = “SomeText3”
How you do it with C# in ASP.NET
//A One Dimensional Array with 3 elements String[] x = new String[3];
x[0] = “SomeText1”; x[1] = “SomeText2”; x[2] = “SomeText3”;
//A Two Dimensional Array with 3 elements String[,] y = new String[3,3];
y[0,0] = “SomeText1”; y[1,0] = “SomeText2”; y[2,0] = “SomeText3”;
Initializing Variables
How you did it with VBScript in ASP
Dim s
Dim i
Dim a(3)
s = “Hello World”
362 |
Appendix D |
i = 1
a(0) = 3.00
a(1) = 4.00
a(2) = 5.00
How you do it with VB.NET in ASP.NET Dim s As String = “Hello World”
Dim i As Integer = 1
Dim a() As Double = { 3.00, 4.00, 5.00 }
How you do it with C# in ASP.NET
string s = “Hello World”; int i = 1;
Double[] a ={ 3.00, 4.00, 5.00 };
If Statements
How you did it with VBScript in ASP
If i = 0 Then Response.Write i
elseIf i = 1 Then Response.Write i
Else
Response.Write i End If
How you do it with VB .NET in ASP.NET
If i = 0 Then Response.Write(i)
elseIf i = 1 Then Response.Write(i)
Else
Response.Write(i) End If
How you do it with C# in ASP.NET
if (i==0) Response.Write(i);
if (i==1) Response.Write(i);
else
Response.Write(i);