|
|
 |

 |
|
Designing Microsoft® ASP.NET Applications
|
|
|
Author
|
|
Douglas J. Reilly
|
|
|
Pages
|
432
|
|
Disk
|
1 Companion CD(s)
|
|
Level
|
All Levels
|
|
Published
|
11/13/2001
|
|
ISBN
|
9780735613485
|
|
Price
|
$39.99
To see this book's discounted price, select a reseller below.
|
|
|
|
|
 |
|
|
Index
Special Characters
& (ampersand), 80, 379
<> (angle brackets), 1, 192, 378
* (asterisk), 119
@ (at symbol), 272
\ (backslash), 225
^ (caret), 135
{} (curly braces), 57, 135
- (hyphen), 135
() (parentheses), 57
+ (plus sign), 80
"" (quotation marks), 86, 225
' (single quotation mark), 297
/ (slash), 1, 378
/// (slashes), 198
[] (square brackets), 135
<% and %> (tags), 15, 116, 306
~ (tilde), 180
_ (underscore), 135
A
<A></A> tags, 378
action attribute, 110, 381
action queries, 257-61
Active Server Pages. See Microsoft Active Server Pages
ADO. See Microsoft ActiveX Data Objects
ADO.NET. See Microsoft ADO.NET
alert function, JavaScript, 215
<allow> tags 95
ampersand (&), 80, 379
anchors, HTML, 379
AndAlso operator, 55-56
angle brackets (<>), 1, 192, 378
animations, 2
anonymous access settings, 372-74
application development, 65-108
application files and directories, 75-76 (see also directories)
ASP and ASP.NET file names, 67
ASP example, 65-66
ASP.NET development model, 71-72
C# example, 66-69
case sensitivity and, 68
configuring applications (see configuration; Web.config files)
creating Web pages, 76-81
environment (see Microsoft Visual Studio .NET)
history of (see application development history)
HTTP handlers and HTTP modules, 84
Page directive,67-68
separating coding of presentation and content, 10, 18-19, 164, 186, 280
Visual Basic .NET example, 69-70
Visual Studio .NET IDE for, 72-74
XML Web services, 81-84
application development history, 1-20
ASP and, 11-19
ASP.NET and, 19-20
CGI and, 3-7
dynamic content and, 2-3
HTML and, 1-2
ISAPI and, 7-11
application directory, 75-76, 93
applications
ASP.NET Web Applications (see ASP.NET Web .Applications)
configuring, in IIS, 367-75
configuring, with Web.config files (see Web.config files)
console, 5
developing (see application development)
dynamic, 2-3
identity settings, 99
.NET Framework support, 23
partitioning, 215, 240, 241-42 (see also client-side scripting)
parts of traditional, 377
service, 5, 81
Web Forms (see Web Forms)
Windows Forms, 23
XML Web service consumer, 344-54, 361-64
XML Web services (see XML Web services)
Application Service Providers, 13
appSettings section, 87, 254
arrays, 41, 56, 58-59
ascx extension, 172, 173
asmx extension, 336
ASP. See Microsoft Active Server Pages
ASP (Application Service Providers), 13
ASP.NET. See Microsoft ASP.NET
ASP.NET Web Applications. See also Web Forms
application directories for, 75-76
creating Web pages, 76-81
files created for, 161-62
traditional applications and, 377
Visual Studio .NET IDE and, 72-74
XML Web service consumers, 344-54, 361-64
ASP: server control prefix, 91, 117, 152, 169
aspx file name extension, 67
assemblies, 29, 180-81, 336
assembly language, 36
asterisk (*), 119
at symbol (@), 272
attributes
design-time environment for custom control .properties, 193
Page directive, 67-68
Property Builder and, 286
Authenticate method, 94
authentication
custom, 355-56
ISAPI filters and, 8
settings, 88-94
types of, 367-68
virtual directory settings for, 372-74
authorization settings, 95
AutoEventWireup attribute, 100, 157
automatic formatting
DataGrid control, 284-85
Visual Studio .NET, 307
AutoPostBack attribute, 219, 221-23
B
<B></B> tags, 380
backslash (\), 225
base keyword, 199
BaseValidator class, 234-35
binding. See data binding
bin folder, 75, 163, 190, 205, 371
block-level scope, 57
<BODY></BODY> tags, 1, 378
boldface, 380
Borland Delphi, 5,36
BoundColumn class, 294
boxed value types, 41-42
browsers. See Web browsers
<BR> tag, 1, 190, 261, 378
built-in reference types, 41-45
built-in value types, 39
Button server controls, 91, 117, 211
byte code, Java, 24, 35
C
C++. See Microsoft Visual C++
C#. See Microsoft Visual C#
caching
custom authentication and, 356
event, 118
global assembly cache, 181
output, 310
XML Web service responses, 343
Calendar controls, 153-54, 160-61
CallingByReference function, 49-50
CallingByValue function, 49-50
calling conventions for parameters, 48-50
camel casing, 89
cancel buttons, 211, 320
caret (^), 135
Cascading Style Sheets (CSS), 77
casing
C#, 68, 192
camel and Pascal, 89, 192
client-side validation and, 137
HTML, 378
Web browsers and, 189
Web.config files, 88
XML, 86, 378
casting syntax, 328
Catch blocks, 54
categories, Properties window, 212
CausesValidation attribute, 211, 320
certificates, security, 374
CGI (Common Gateway Interface), 3-7
advantages of, 5-6
console applications and, 5
disadvantages of, 6-7
character entity references, HTML, 382
checkboxes, HTML, 379
Checkbox server controls, 152
CIS (COM Internet Services), 334
Class attribute, 336
classes. See also objects
ADO.NET, 23, 250-52
base implementation reference, 196, 199
color, 221
control, 168-69
designer, 211-13
MFC, 8
.NET Framework, 23, 45-47 (see also data types; .NET Framework)
non-SQL Server, 256
ODBC, 250
proxy, 347-48, 353
SqlClient vs. OleDb, 266, 273-74
types, 41
wrapper, 274
client applications, Windows Forms, 23
client-side scripting, 215-40
ASP.NET uses for, 218-23
client-server interactions and, 216-18
client-side validation and, 3, 109, 137, 211, 238
client-side vs. server-side events, 234
client-side Web controls, 228-39
disabling client-side validation, 211
firing postbacks from custom controls, 223-28
JavaScript and, 2, 3, 215
script locations, 123
server-side validation and, 218
clienttarget attribute, 125-28, 152
CloseConnection parameter, 257
CLS (common language specification), 23, 39
COBOL, 19, 24, 36
code
in code-behind files, 75, 154, 172, 178
compiling (see compilation)
generated by development environment, 158, 191-93, 200, 295
Java byte, 24, 35
managed, 23, 31-32
modifying components with, 78-79
MSIL, 25-29
preventing exposure of, 30, 96, 125
security for, 23
separating content, from presentation, 10, 18-19, 164, 186, 280
type-safe, 31-32, 295
unsafe, 33
Codebehind attribute, 157, 336
code-behind files, 75, 154, 172, 178
Color class, 28-29, 221
Color Picker, 79, 212-13
colors
color schemes, 284-85
control, 221
columns
DataGrid control, 284, 294
HTML table, 386
Repeater control, 300
COM/COM+ technology
CIS, 334
components, 21
components vs. assemblies, 180-81
cross-platform compatibility and, 36-37
DCOM, 333-34
problems of COM components, 165-68
services, 22
CommandBehavior enumeration, 257
Command class, 249-50, 256
command-line compilation, 25
command-line tools
as console applications, 5
directories for, 354
XML Web service, 351-54
CommandType property, 265-66
comment marker, XML, 198
Common Gateway Interface. See CGI
common language runtime, 21-33
as ASP.NET feature, 19
forcing compilation, 21
JIT compiler and, 30-31
languages and, 21
managed code and data and, 31-32
MSIL and, 24-30
.NET Framework and, 22-23
unsafe code and, 33
common language specification (CLS), 23, 39
CompareValidator controls, 124-29, 320
compatibility
cross-platform, 35-37
version, 165-66
Visual Basic .NET, 47-50
compilation
ASP and, 16
command-line, 24
custom controls, 190
editing code and, 80
forcing, 21
JIT compiler, 21, 30-31
viewing compiler output, 96
compiled languages, 19
components, 20, 165-213. See also controls
client-side, 228-39
control classes for, 168-69
custom controls (see custom controls)
layout of, 76-77
life cycle of, 170-72
problems with, 165-68
user controls (see user controls)
Web services, 29-30 (see also XML Web services)
composite custom controls, 200-11
composition
vs. rendering, 205
wrapper classes vs., 274
concatenation, 80
configuration
application (see Web.config files)
application directory, 75-76
security, and IIS, 367-75
Visual Studio .NET, 73-74
<configuration></configuration> tags, 87
Connection class, 249, 256
connection strings, 254
console applications, 5
Console class, 28-29
consumer applications, XML Web service, 344-54, 361-64
content
dynamic, 2-3
separating coding of, from presentation, 10, 18-19, 164, 186, 280
static, 2
type, 4
Control class, 168, 187
ControlDesigner class, 212
Control directive, 172, 176
controls. See also components
classes for, 168-69
client-side, 228-39
HTML widgets as, 20, 152, 377, 379-82
maintaining state of, 148-52
server (see server controls)
session state and, 112-13
state of, 122, 148-52, 170
validator (see validator controls)
cookies
custom authentication and, 355
dynamic content and, 2-3
session state and, 101, 104
types of, 175
validating, 90
CreateChildControls method, 204, 205
CreatePlaceHolderDesignTimeHtml method, 212
cross-platform compatibility, 35-37
CType function, 328
curly braces ({}), 57, 135
Currency data type, 56
Current property, 244, 247
cursors, 250-51, 277-78
custom authentication, 355-56
custom controls, 187-213
complicated, 193-99
composite, 200-205
composition vs. rendering, 205
creating, in Visual Studio .NET, 191-93
enhancing design-time support for, 211-13
firing postbacks from, 223-28
installing, in Visual Studio .NET, 205-11
simple, 187-90
custom errors, 95-97, 374
CustomValidator controls, 130-33, 136-37
D
data, managed, 32
data access, 241-332
ADO.NET (see Microsoft ADO.NET)
ASP forms, 279-81
ASP.NET forms, 282
caching, 310
data entry pages (see data entry pages)
DataGrid server control (see DataGrid server .control)
data validation and (see validation; Web Forms)
IEnumerator interface and, 244-49
Repeater server control, 298-310
XML and, 241-44 (see also XML)
data access layer (DAL), 296
DataAdapter class, 251
database logic, 377
data binding
C# and forced early, 63-64
data entry pages and, 319
DataGrid control and, 295
data grids and, 279
delimiters and, 306
IEnumerator and, 248
Repeater control and, 306
server controls and, 118
DataBind method, 248, 295, 306, 309, 327-28
data entry pages, 310-32
creating user interface, 312-20
data binding and, 319
data editing and, 310-12
processing data entry, 320-32
DataFormatString property, 294
DataGridCommandEventArgs class, 296, 297
data grids, Visual Basic 6.0, 279
DataGrid server control, 282-97
deficiencies of, 298-99
modifying, using Visual Basic .NET, 290-97
modifying, using Visual Studio .NET, 284-90
DataList control, 300
DataReader classes, 251, 256, 277, 281, 309, 319, 327, 329, 332
DataSet objects, 250-52, 332, 365
DataSource property, 248, 300, 309
DataTypeCheck operator, 129
data types, 37-45
ASP, 18, 38
built-in reference types, 41-45
common language runtime and, 19
CompareValidator control and, 128-29
.NET Framework, 37-45
of properties, 199
reference types, 32, 40-41
type compatibility and, 37-38
type-safe code, 31-32, 295
value types, 38-40
Variant, 18, 54
Visual Basic .NET, 55
data validation. See validation; Web Forms
dates
Calendar control, 153-54, 160-61
client-side formatting of, 229-38
DateTime class, 328-29
DateTimePicker control, 109
.NET Framework object model and, 161
DCOM (Distributed COM), 333-34
debugging. See also error messages; exception .handling
ASP variable-writing shortcut and, 16
COM components, 166, 168
configuration settings, 105-8
ISAPI applications, 11
declaration, variable, 15, 18, 57
Default function, 8-9
Delphi, 5-6, 36
<deny> tags, 95
Dependency Walker tool, 12-13
Depends.exe tool, 163
deployment, component, 166-68
Designer attribute, 203, 211
designer classes, 211-12
designer support. See Microsoft Visual Studio .NET
Design view, 76-80
development. See application development
DHTML (Dynamic HTML), 77, 383
digest authentication, 373-74
Dim statement, 56
directives
Control, 172, 176
Option Explicit, 15, 18, 55, 63, 85
Option Strict, 55, 63-64
OutputCache, 310
Page (see Page directive)
preprocessor, 60
Register, 179, 180, 205, 206
WebService, 336
directories
application, 74, 75-76
ASP and ASP.NET applications and, 67
assembly, 181
bin, 75, 163, 190, 205, 371
client-side script locations, 123
command-line utilities, 354
configuration files, 87-88, 93
paths, 180
phsyical vs. logical, 88
system-supplied DLLs, 203
virtual (see virtual directories)
Web References, 346
XML and System32, 276
XML Web services, 336, 346
disabling client-side validation, 211
Discovery, 335
Display attribute, 141-42
Dispose method, 32
Distributed COM (DCOM), 333-34
DLLs (dynamic-link libraries)
custom controls as, 187
ISAPI, 7
language compatibility and, 36
.NET Framework, 25, 163
system-supplied, 203
XML Web service consumer, 353-54
doDataBind method, 293-94, 326
domain name restrictions, 374
__doPostBack function, 223, 228
downlevel browsers, 125-28, 152, 189, 218
DropDownList server controls, 152, 218-23, 379
dynamic content, 2-3
Dynamic HTML (DHTML), 77, 383
dynamic-link libraries. See DLLs
E
early binding, C# and forced, 63-64
eBay XML Web services, 82
ECMAScript, 217
Eiffel, 19, 24
elements, HTML, 1
encapsulation, 50
EnsureChildControls method, 204
entry-point functions, 8
error handling. See exception handling
error messages. See also debugging; exception .handling
custom, 95-97, 374
CustomValidator control and, 136
validator control, 141-42
summarizing, 143-48
undeclared variables, 85
Eval method, 306
EvaluateIsValid function, 238
evaluation, short-circuit, 55-56
event handlers, 20
data access, 266
DataGrid control, 290, 295-97
server-side and client-side, 117
Visual Studio .NET code for, 332
Web Form, 159
events
client-side vs. server-side, 234
ISAPI filters and, 7
manual vs. automatic wireup of, 100
exception handling. See also debugging; error .messages
custom error messages and, 95-97
data access, 260, 273
managed code and, 31
structured, 52-54
Visual Basic and VBScript, 47
executable files, 25, 370-71
ExecuteNonQuery method, 272
execute permissions, 6, 7, 370
ExecuteReader method, 256-57
Explicit setting, 85-86
expressions
regular, 129, 134-36
short-circuit evaluation of, 55-56
Extensible Markup Language. See XML
extensions, filename, 67, 76, 172, 176, 336, 375
extensions, ISAPI, 7-10
F
F7 key, 79
fields
hidden, 111, 113, 122
multiple validators on single, 138-43
files
assembly, 181
code-behind, 75, 154, 172, 178
configuration (see Machine.config files; Web.config files)
Discovery, 335
DLLs (see DLLs)
executable, 25, 370-71
Global.asa, 87, 89
Global.asax, 87, 162-63
include, 18-19, 116, 235
names and extensions for, 67, 76, 172, 176, 336, 375
FileStream class, 276
Fill method, 251, 276
filters, ISAPI, 7-10
Finally blocks, 54
firewalls, 252, 333
fixed keyword, 33
Flow Layout, 77
folders. See directories
For Each construct, 245
ForeColor property, 221
format strings, 307
formatting. See automatic formatting
<FORM></FORM> tags, 381
forms
ASP, 110-12
ASP.NET vs. Visual Basic 6.0, 112-13
data access using ASP, 279-81
data access using ASP.NET, 282 (see also data .access)
HTML, 109-13
validation using (see Web Forms)
Windows (see Windows Forms)
forms authentication, 88-94, 367-68
FormsAuthentication class, 94, 175
<forms> tag attributes, 90
<FORM> tag, 110, 116
function overloading, 54
functions
C# and global, 59-60
entry-point, 8
error handling and, 52-53
G
Gacutil.exe utility, 181
garbage collection, 32, 33, 58
GetDesignTimeHtml method, 212
GetEnumerator method, 245, 247
GetExtensionVersion function, 8, 12
Get method, 381
GetPostBackEventReference method, 223, 225, 228
GetString method, 266, 281
GetType method, 42
Get verb, 97
GetXML method, 276, 332
Global.asa file, 87, 89
Global.asax file, 87, 162-63
global assembly caches, 181
global functions, C# and, 59-60
Grid Layout, 76-77
H
<HEAD></HEAD> tags, 378
Health Level 7 (HL7) language, 242-43
history. See application development history
HREF attribute, 379
HTML (Hypertext Markup Language), 377-86
application development and, 1-2
ASP and, 14, 18
ASP.NET and, 377
downlevel browsers and, 127
forms and validation, 109-13
invisible images and, 386
links, 378-79 (see also hyperlinks)
modifying, with ISAPI filters, 8
server controls, 152, 169
server controls vs. ASP.NET server controls, 117-18
tables, 382-86
tags, 378
user interfaces and, 377
viewing, for Web pages, 78-79
widgets, 379-82
<HTML></HTML> tags, 378
HtmlTextWriter class, 188-89, 212
HtmlTextWriterTag enumeration, 189
HTTP (Hypertext Transfer Protocol), 2, 97-99, 334
HttpContext class, 338
HTTPExtensionProc function, 8, 12-13
HTTP handlers, 11, 84, 9798
HTTP modules, 11, 84, 9899
HttpServerUtility class, 339
http://tempuri.org namespace, 341
hyperlinks, 152, 217, 223-25, 378-79
Hypertext Markup Language. See HTML
Hypertext Transfer Protocol (HTTP), 2, 97-99, 334
hyphen (-), 135
I
<I></I> tags, 380
ID attribute, 152, 204, 234
IDE (integrated development environment), 11, 72-74. See also Microsoft Visual Studio .NET
IDENT_CURRENT value, 331
identity settings, 99, 331
@@IDENTITY value, 331
IDisposable interface, 32
IEnumerable interface, 245
IEnumerator interface, 244-49
IIS. See Microsoft Internet Information Services
Ildasm.exe utility, 25-29
images, 28586, 386
<IMG> tags, 285-86
impersonation, 99, 254
Implements keyword, 52
importing namespaces, 115-16
INamingContainer interface, 203
include files, 18-19, 116, 235
inheritance
C#, 59
components and, 165
multiple, 52, 59
Visual Basic .NET, 50-52
Inherits keyword, 52
InitializeComponent method, 332
InnerHtml property, 68-69
input, standard, 5
Inside Server-Based Applications, 8
integrated development environment (IDE), 72-74. See also Microsoft Visual Studio .NET
Integrated Security attribute, 254
integrated Windows authentication, 374
interfaces
COM, 165-66, 180
custom control, 203, 205, 238-39
data access, 244-49
interface type, 41
user (see user interfaces)
Visual Basic .NET, 52
Internet, compatibility and, 36
Internet Server Application Programming Interface. See ISAPI
Internet Services Manager, 368-69
int type, 38, 40
IP address restrictions, 374
IPostBackDataHandler interface, 205, 238
IPostBackEventHandler interface, 205, 238-39
ISAPI (Internet Server Application Programming .Interface), 7-11. See also HTTP handlers; HTTP modules
advantages of, 10
ASP and, 12-13
ASP.NET and, 11
disadvantages of, 10-11, 21
extensions and filters, 7-10
IsDBNull statement, 57
IsReference statement, 57
italics, 380
J
Java, 24, 35
Java Virtual Machine (JVM), 24, 35
JavaScript. See also client-side scripting; Microsoft JScript
as client-side language, 217-18, 240
dynamic content and client-side, 2, 3
as ECMAScript, 217
message boxes, 215
Web Forms and, 109
JIT (just-in-time) compiler, 23, 30-31
JScript. See Microsoft JScript
L
Label class, 187
Label server controls, 117, 152
languages
ASP, vs. ASP.NET, 67
ASP.NET compiled, 19-20
C# (see Microsoft Visual C#)
CGI and, 5
client-side vs. server-side, 240
controls and, 186
cross-platform compatibility, portability, and, 35-37
Health Level 7, 242-43
HTML (see HTML)
MSIL and, 24 (see also Microsoft intermediate .language)
.NET Framework and, 22-23, 24
scripting, 2-3, 13, 21, 217, 240 (see also JavaScript; Microsoft JScript)
SQL (see Microsoft SQL Server; queries)
Visual Basic .NET (see Microsoft Visual Basic .NET)
Visual Studio .NET and, 74
WSDL, 29, 335, 351-54
XML (see XML)
XML Web service, 336
layout
component, 76-77
displaying error messages and page, 141-42
HTML tables and, 382-86
Visual Studio .NET IDE, 73-74
life cycle
of controls, 170-72
Web Form, 113, 159
line break tag, 1, 190, 261, 378
LinkButton controls, 153, 224
links, HTML, 378-79. See also hyperlinks
ListBox server controls, 152, 379
LiteralControl class, 204
LoadPostData method, 239
localhost namespace, 345, 361
logical layout, 368
logical operators, short-circuit, 55-56
login pages, 90-93, 114-17, 172-75, 367
loop keyword, 70
lowercase. See casing
M
Machine.config files, 87-88, 123
macros, C# and preprocessor, 60
Main class, 60
managed code and data, 23, 31-32
manifests, assembly, 181
mappings, application, 375
markup languages, 1
marshaled data, 365
masked inputs, 109
Me keyword, 225
memory management
C#, 33, 58
managed data and, 32
Memory Mapped Files (MMF), 46
message boxes, 215
Message objects, 68
messages, error. See error messages
metadata, MSIL, 25-29
META tags, 157, 378
method attribute, 381
methods
global functions vs., 59-60
operator overloading and, 60-63
System.Object, 41
Microsoft Active Server Pages (ASP), 11-19
advantages of, 16
application development with, 11-16
ASP.NET vs., 21, 33
data access using forms, 279-81
development model, 71
disadvantages of, 16-18
example application, 65-66
file names, 67
forms authentication, 89
form validation, 110-13
functions in script blocks, 116
importing functionality, 116
ISAPI and, 12-13
server controls, 152-53
session state, 101
type system inconsistencies, 38
Variant data type, 37
Microsoft ActiveX Data Objects (ADO), 16, 250-52
Microsoft ADO.NET, 20, 249-332
ADO vs., 250-52, 279-81
creating action queries, 257-61
data access (see data access)
generating XML from data, 274-77
.NET Framework and, 23
queries returning records, 329
Read method and first records, 327
selecting data, 252-57
SqlClient vs. OleDb classes, 273-74
using stored procedures, 261-73
wrapper classes and, 274
Microsoft Application Center, 167
Microsoft ASP.NET
application development (see application .development; application development history; applications)
ASP vs., 21, 33
client-side scripting (see client-side scripting)
common language runtime (see common language runtime)
components (see components)
data access (see data access)
features, 19-20
file names, 67
functions in script blocks, 116
IIS security configuration, 367-75
importing functionality, 116
ISAPI and, 11
.NET Framework (see .NET Framework)
as server-based technology, 215
string handling performance, 17
Web Forms (see Web Forms)
XML Web services, 333-66
Microsoft Foundation Class Library (MFC), 8, 23
Microsoft intermediate language (MSIL), 24-30
assemblies, 29
forcing compilation, 21
code and metadata, 25-29
command-line compiler and, 25
compilation of languages to, 21
Java Virtual Machine (JVM) vs., 24
Web services and, 29-30
Microsoft Internet Information Services (IIS), 368-75
ASP.NET user authentication and, 367-68
CGI and, 6
client-side validation and, 123
creating virtual directories in, 368-75
ISAPI and, 7
scripting and, 21
security, 355
Visual Studio .NET interactions with, 75-76
XML Web services and, 336
Microsoft JScript, 14, 21, 217. See also JavaScript
Microsoft Notepad, 86, 154, 191
Microsoft SQL Server
ADO.NET classes for, 250, 266, 273-74, 297
ADO queries, 249-50
identity columns and, 331
queries (see queries)
regular expressions and, 134-35
stored procedures, 261-73, 330-32, 359-60
variables, 272
views, 262
Microsoft Visual Basic 6.0
compatibility issues with Visual Basic .NET, 47-50
data grid, 279
error handling, 47
forms vs. ASP.NET forms, 112-13
IDE, 73
Windows Forms and, 23
Microsoft Visual Basic .NET, 47-57
ASP.NET features and, 19-20
built-in reference types, 41-45
C# vs., 60-64
compatibility issues of, 47-50
CType function, 328
enhancements, 50-57
example application, 69-70
function overloading, 54
inheritance and polymorphism, 50-52
integration of C# and, 73
miscellaneous enhancements, 56-57
modifying data grids using, 290-97
MSIL and, 24-29
multiple inheritance and, 52
server controls and, 152-53
short-circuit evaluation, 55-56
signed byte and unsigned integer types, 39
structured exception handling, 47, 52-54
unsafe code and, 33
variable typing, 55
viewing code, 79-80
Microsoft Visual Basic Scripting Edition (VBScript)
ASP and, 14-19
client-side use of, 217
error handling, 47
function overloading and, 54
security problems, 23
simplest example, 24
slow string handling performance of, 17
Microsoft Visual C++, 11, 19-20, 58-60, 72
Microsoft Visual C#, 57-64
ASP.NET features and, 19-20
built-in reference types, 41-45
ByRef parameters and out modifiers, 364
C++ vs., 58-60
case sensitivity, 68, 192
example application, 66-69
forced early binding, 63-64
integration of Visual Basic .NET and, 73
operator overloading, 60-63
safer memory management of, 58
signed byte and unsigned integer types, 39
unsafe code and, 33
Visual Basic .NET vs., 60-64
Microsoft Visual InterDev, 73
Microsoft Visual Studio 6.0, 38
Microsoft Visual Studio .NET, 20, 72-84
bin folder, 371
code-behind files, 154
code generated by, 158, 200, 295
configuration files and, 108
configuring IDE of, 72-74
consuming XML Web services with, 344-51
creating custom controls, 191-93, 225
creating HTTP handlers and HTTP modules, 84
creating Web applications, 76-81
creating XML Web services, 81-84, 336-37, 366
designer support for custom controls, 187, 211-13
designer support for user controls, 186
forcing compilation of all pages, 21
generating data sources and connections with, 295
installing custom controls in, 205-11
interactions of, with IIS, 75-76
modifying data grids using, 284-90
Repeater controls and, 305, 307
user authentication and, 368
mode attribute, 89
MoveNext method, 244, 247
Mscoree.dll file, 163
Mscorlib.dll file, 26
MSIL. See Microsoft intermediate language
multiple inheritance, 52, 59
MyBase keyword, 196, 199
My Profile screen, 72-73
N
Name attribute, 234, 379
names
of anonymous users, 373
ASP: server control prefix, 91, 117, 152, 169
camel casing and Pascal casing of, 89, 192
of controls, 179
default, 192
of event handlers, 151
file names and extensions, 67, 76, 172, 176, 336, 375
of namespaces and classes, 200
of parameters, 272
of projects and directories, 75
of properties and data elements, 192
user (see user names)
Namespace attribute, 206
namespaces
ADO.NET, 250-52, 276, 297
control, 168-69, 180, 188, 192, 203
XML Web services, 341, 345, 361
navigating records, 250-51, 281
nesting
configuration files, 87-88
controls, 186
HTML tags, 380
.NET Framework, 35-64
as ASP.NET feature, 19
ASP type system vs., 38
built-in reference types, 41-45
common language runtime and, 22-23
cross-platform compatibility problem and, 35-37
DLL file, 163
miscellaneous classes, 45-47
and operations requiring Win32 API, 46
reference types, 40-41
standard languages of (see Microsoft Visual C#; Microsoft Visual Basic .NET)
strings, dates, and, 161
type system, 37-38
value types, 38-40
nonbreaking spaces, 382
nonqueries, 257-61
Notepad. See Microsoft Notepad
NTFS security, 23
NTLM authentication, 374
O
object model, .NET Framework, 37-38
objects. See also classes
creating, 48
garbage collection and destruction of, 32
.NET Framework (see .NET Framework)
Object class, 41, 118-19
value types as, 42
ODBC classes, 250, 273
OleDb classes, 256-57, 266, 273-74
OleDbCommand class, 256
OleDbConnection class, 256
OleDbDataReader class, 256
OleDbException class, 260
OnChange event, 223, 234
OnClick event, 91
OnLoad method, 234
OnServerValidate attribute, 136-37
Operator attribute, 128-29
operators
CompareValidator control, 128-29
logical, 55-56
overloading, in C#, 60-63
Option Base statement, 56
Option Explicit directive, 15, 18, 55, 63, 85
Option Strict directive, 55, 63-64
OrElse operator, 55
output, standard, 5
OutputCache directive, 310
output caching, 310
overloading, function, 54
overloading, operator, 60-63
P
<P></P> tags, 1, 378
Page class, 169, 223, 225, 228, 235
Page directive
downlevel browsers and, 125-28, 152, 211
language specification with, 67
server controls and, 157
server-side validation and, 152
Page_Init event, 157, 159
pagelets, 169
Page_Load event, 79-80, 158, 159-60, 220-21, 227, 248-49, 309
pages. See Web pages
Page_Unload event, 159, 257
Page_ValidationActive attribute, 211
paragraph tags, 1, 378
parameters
cross-platform compatibility and, 36
data access, 271-73
HTML, 379
ISAPI and, 10
names of, 272
Parameter object properties, 268
single quotation marks and, 297
Visual Basic .NET calling conventions, 48-50
parentheses (), 57
parseInt function, 237-38
parse maps, 10
partitioning applications, 215, 240, 241-42, 366. See also client-side scripting
Pascal casing, 89, 192
Passport authentication, 89, 367-68
passwordFormat attribute, 94
passwords. See also authentication
connection strings and, 254
custom authentication and, 355-56
settings, 94
validating, 124-29
paths, 180. See also directories
performance issues
ASP, 16-18
ASP.NET development model, 72
CGI, 6-7
configuration settings, 101-3
HTTP handlers and HTTP modules and, 84
ISAPI, 10
JIT compiler, 31
MSIL, 24
output caching, 310
short-circuit evaluation, 56
System.Object, 40-41
VBScript string handling, 17
XML, 244
PERL, 5, 36
permissions. See also security
code access, 23
execute, for virtual directories, 6, 7, 370
persistent cookies, 175
physical layout, 368
plus sign (+), 80
pointers
C/C++ and, 57, 58
reference types as, 40-41
unsafe code and, 33
XML Web service, 336
pointer type, 41
polymorphism, Visual Basic .NET, 50, 52
portability, 35-37
ports, HTTP, 334
postbacks
ASP, 111
ASP.NET, 112
control state and, 148
drop-down list, 218-23
firing, from custom controls, 223-28
Page_Load event and, 159-60
server burden of, 217
Post method, 381
Post verb, 97
preprocessor macros, C# and, 60
presentation. See user interfaces
printf function, 4
procedures, stored, 261-73, 330-32, 359-60
process model settings, 101-3
projects, 72-74, 336-37
properties
application directory, 75-76
C# vs. Visual Basic .NET, 199
custom control, 193
DataGrid control, 284
modifying Web page component, 78
names of, 192
Parameter object, 268
server control, 153
session state and, 113
synthesizing, 196
virtual directory, 369-74
WebMethod attribute, 342-43
Properties window, 78, 154, 212, 284
Property Builder, 284-87
proxy classes, 347-48, 353
Public access modifier, 199
Q
queries. See also Microsoft SQL Server
action, 257-61
ADO, 249
returning records, 329
select, 252-57
quotation marks (""), 86, 225
R
RAD (rapid application development), 20
RadioButton server controls, 152, 379
RaisePostBackEvent method, 239
RaisePostDataChangedEvent method, 239
RangeValidator controls, 129-33
rapid application development (RAD), 20
Read method, 281, 327
ReadWriteControlDesigner class, 212
Recordset class, 249-50, 252
recordsets, navigating, 250-52, 281, 327
ReDim statement, 56
RedirectFromLoginPage function, 91, 175
redirection, 91, 96, 111-12, 175, 367
reference types, 40-45
boxing, 43
built-in, 41-45
as pointers, 40-41
unsafe code and, 32
#Region and #End Region tags, 82, 158
RegisterClientScriptBlock method, 235
Register directive, 179, 180, 205, 206
registry, 166, 167
RegularExpressionValidator controls, 129-33, 134-36, 318
relational operators, 128-29
remote procedure call (RPC), 333
RenderBeginTag method, 189
RenderControl method, 211
RenderEndTag method, 190
rendering
vs. composition, 205
controls, 234
custom controls, 188-90, 196
<SPAN> tags and, 124
Render method, 188, 196, 199, 205, 225, 234
Repeater server control, 298-310
RequiredFieldValidator controls, 117-24, 138-43, 200-205, 318
Reset method, 244, 247
resources, 6, 32. See also memory management
Response class, 15-16, 54
return values, error handling and, 53
roles, 95
root, application, 180
root configuration file, 87
rows, HTML table, 386
RPC (remote procedure call), 333
runat=server attribute/value pair, 69, 97, 116-17, 122, 152, 169, 179, 192
S
scalability
ASP, 16, 18
CGI, 6-7
output caching and, 310
schemas, XML, 335
scope, block-level, 57
SCOPE_IDENTITY value, 331
scripting. See also client-side scripting; JavaScript; Microsoft JScript
ASP and, 14-16, 21
dynamic content and, 2-3
ISAPI and, 13
location of scripts, 123
virtual directory configuration for, 370
SCRIPT></SCRIPT> tags, 15, 116
security. See also authentication; permissions
common language runtime and, 23
configuration, 367-75
connection strings and, 254
managed code and, 31
select queries, 252-57
self-describing types, 40
server controls. See also controls
custom controls (see custom controls)
DataGrid (see DataGrid server control)
DataList, 300
HTML, vs. ASP.NET, 117-18, 381
maintaining, programmatically, 152-63
namespaces and classes, 169
Repeater, 298-310
runat=server attribute/pair and, 69, 97, 116-17, 122, 152, 169, 179, 192
user controls as, 179 (see also user controls)
validator (see validator controls)
Visual Studio .NET and, 81
Windows controls vs., 169
servers
browser interactions with, 216-18 (see also client-side scripting)
CGI and, 3
events on, 234
server controls (see server controls)
validation on, 128, 136-37, 152, 211, 218
service applications, 5, 81
services
common language runtime and, 19, 22
Web, 29-30 (see also XML Web services)
Session class, 338-39
session cookies, 175
Session_OnStart event handler, 89
session state
ASP and, 101
configuration settings, 101, 104-5
for controls, 122, 148-52, 170
Web Forms and, 113
XML Web services and, 338-39
Set statement, Visual Basic, 48
short-circuit evaluation, 55-56
side-by-side execution, 181
signed bytes, 39
Simple Object Access Protocol (SOAP), 82, 282, 334, 356
single quotation mark ('), 297
slash (/), 1, 378
slashes (///), 198
SOAP (Simple Object Access Protocol), 82, 282, 334, 356
Solution Explorer, 344-45
spaces, nonbreaking, 382
<SPAN></SPAN> tags, 68-69, 123-24
special characters, HTML and, 381-82
SQL. See Microsoft SQL Server; queries
SqlClient classes, 266, 273-74, 297
SqlCommand class, 265-66, 272, 296, 309, 360
SqlConnection class, 266, 326-27, 360
SqlDataAdapter class, 276
SqlDataReader class, 265-66, 360-61
SqlDataSet class, 276
SqlParameter class, 271
square brackets ([]), 135
Src attribute, 172, 180, 235
stages, Web Form, 159
standard input and output, 5
Start Page, 72-73
state, session. See session state
static content, 2
stored procedures, 261-73, 330-32, 359-60
StreamWriter class, 276
Strict setting, 85-86
StringBuilder class, 17, 44
strings
COM, 37
concatenating, 80
connection, 249, 254
format, 307
length of Visual Basic .NET, 56
.NET Framework object model and, 161
as parameters, 36
regular expression, 134-35
String class, 44-45
varieties of, 45
VBScript and slow handling of, 17
StringWriter class, 212
structured exception handling, 52-54. See also .exception handling
Structure...End Structure construction, 56-57
style sheets, 118, 383
submit button, 211, 217
Substring method, 161
System32 directory, 276
System.Data namespace, 250
System.IO namespace, 203, 276
System.Object base type, 40-41
system services, 22
System.Web.Security namespace, 115
System.Web.UI.Design namespace, 203, 212
System.Web.UI.HtmlControls namespace, 169
System.Web.UI namespace, 168
System.Web.UI.Page namespace, 158
System.Web.UI.WebControls namespace, 147, 158, 169, 187
System.Windows.Forms.Control namespace, 169
T
tables, HTML, 300, 316, 382-86
tables, MSIL, 29
<TABLE></TABLE> tags, 384
TagPrefix attribute, 179, 180, 192, 206, 225
tags, HTML, 1, 116, 157, 190, 286, 378
tags, XML, 86
<TD></TD> tags, 386
TemplateColumn class, 298
TemplatedControlDesigner class, 212
templates
C# and, 58-59
Repeater control, 300-301
server control, 118
testing
ISAPI applications, 11
XML Web services, 340-41
TextBox class, 193, 195
TextBox server control, 152, 200-205, 379
Text property, 187-88, 192
TextWriter class, 276
third-party controls, 187, 200. See also custom controls
this keyword, 225
threading, 47
Throw keyword, 54
tilde (~), 180
<TITLE></TITLE> tags, 378
Toolbox, 78, 206-7
ToolBoxData attribute, 192
ToString method, 42, 266
Trace class, 107
trace service settings, 105-8
Transact SQL, 261
<TR></TR> tags, 386
Try blocks, 54
Type attribute, 128
types. See data types
type-safe code, 31-32, 295
Type statement, 56
U
UDDI (Universal Description, Discovery, and .Integration), 335
underscore (_), 135
unsafe code, 33
unsafe keyword, 33
unsigned integers, 39
Update method, 251
upgrading, 167-68
uppercase. See casing
URLs
absolute vs. relative, 110
CGI and, 6
user authentication. See authentication
user controls, 172-86
assemblies and, 180-81
converting Web pages to, 176-86
preparing Web pages to be converted to, 172-75
UserControl class, 169
user-defined classes, 41
user interfaces
ASP forms and, 280
data entry page, 312-20
designing, 164
HTML and, 377
separating coding of content from, 10, 18-19, 164, 186, 280
traditional application and ASP.NET, 377
user names, 94, 96, 254, 355-56. See also .authentication
V
validation
client-side, 3, 109, 238 (see also client-side .scripting)
controls (see validator controls)
of cookies, 90
data entry pages and, 311-12, 318-20
disabling client-side, 211
logic, 377
server-side, 109
Web Form stage, 159 (see also Web Forms)
ValidationSummary controls, 143-48, 332
ValidatorColor property, 212-13
validator controls, 118-48
client-side scripting and, 218
CompareValidator, 124-29
CustomValidator, 130-33, 136-37
data entry pages and, 318, 320, 332
Display attribute, 141-42
multiple, on single field, 138-43
RangeValidator, 129-33
RegularExpressionValidator, 129-33, 134-36
RequiredFieldValidator, 118-24
ValidationSummary, 143-48
value attribute, 381
values
comparing, 124-29
requiring, 119-24
XML, 86
value types, 38-40
boxing, 41-43
variables
ASP shortcut for writing, 15
boxing, 41-42
C#, 64
C# fixed, 33
configuration files and, 87
explicitly declaring, 15, 18, 63-64, 85
multiple declarations, 57
SQL Server, 272
types (see data types)
Variant data type, 18, 37, 54
VBScript. See Microsoft Visual Basic Scripting Edition
verbs, HTTP, 97
verification process, 32
version compatibility, 165-66, 181
versions, ASP.NET, 76
views, SQL Server, 262
__VIEWSTATE field, 113, 122
ViewState property, 113, 326
virtual directories
configuration files and, 88, 93
creating, 368-75
execute permissions for, 6
XML Web services, 336
viruses, 23
Visual Basic .NET. See Microsoft Visual Basic .NET
Visual Basic Scripting Edition. See Microsoft Visual Basic Scripting Edition
Visual C++. See Microsoft Visual C++
Visual Studio .NET. See Microsoft Visual Studio .NET
void functions, 25
W
Web applications. See application development; .applications; ASP.NET Web Applications
Web browsers
automatic detection of, 118
browser-server interactions, 216-18
compatibility and, 35
component layout and, 77
downlevel, 125-28, 152, 189, 218
Web.config files, 85-108
application settings and, 75
appSettings section, 87
authentication section, 88-94
authorization section, 95
customErrors section, 95-97
directory hierarchies and, 88
httpHandlers section, 97-98
httpModules section, 98-99
identity section, 99
IIS virtual directories and, 373
location of, 87-88
Machine.config files and, 87
nesting of sections in, 88
pages section, 100-101
processModel section, 101-3
security settings, 115
sessionState section, 104
trace section, 105-8
XML and, 85-87
WebControl class, 187, 192
Web Control Library projects, 191-93, 225
webControls tag, 123
Web Forms, 109-64
as ASP.NET feature, 20
ASP.NET vs. HTML server controls, 117-18
ASP.NET vs. Visual Basic 6.0 forms, 112-13
ASP validation, 110-12
CompareValidator controls, 124-29
creating Web pages, 76-81
CustomValidator controls, 130-33, 136-37
development environment code, 158
example of form validation, 114-17
files for, 75
JavaScript and, 109
life cycle of, 159
maintaining state of controls, 148-52
manipulating server controls programmatically, 152-63
multiple validator controls on single field, 138-43
.NET Framework and, 23
postbacks and, 111, 112
RangeValidator controls, 129-33
RegularExpressionValidator controls, 129-33, 134-36
RequiredFieldValidator controls, 118-24
strings, dates, and .NET object model, 161
using code-behind files, 154
validation and, 109
ValidationSummary controls, 143-48
as XML Web service consumers, 344-54, 361-64
WebMethod attribute, 339, 342-43
Web pages
class, 169
converting, to user controls, 176-86
creating, 76-81
data entry (see data entry pages)
displaying debugging information, 105
forcing compilation of, 21
login, 90-93
page-specific information, 100-101
preparing, to be converted to user controls, 172-75
services and, 82
session state and, 113
user authentication for, 367
Web references to XML Web service, 344-46, 361
WebService class, 338-39
WebService directive, 336
Web services, 29-30. See also XML Web services
Web Services Description Language (WSDL), 29, 335, 351-54
While...End While construction, 57
widgets, HTML, 20, 152, 377, 379-82
wildcard characters, 116, 134
Win32 API
cross-platform compatibility and, 37
operations requiring, 46
services in .NET Framework, 2223
size values, 40
unsafe code and, 33
Windows authentication, 89, 339, 367-68, 373
Windows Forms
control classes, 169
.NET Framework and, 23
Windows NT Challenge/Response authentication, 374
WithEvents keyword, 158
wrapper classes, 274
WriteLine function, 26, 29
Write method, 15-16, 54, 68
WSDL (Web Services Description Language), 29, 335, 351-54
Wsdl.exe tool, 351-54
X
XML (Extensible Markup Language)
ADO.NET and, 252
comment marker, 198
disadvantages of, 244
generating, from data, 274-77
GetXML method and, 332
HTTP, SOAP, and, 334-35
marshaled data and, 365
.NET Framework and, 23
other data formats vs., 242-43
as universal data language, 241-44
Web.config files and features of, 86-87
Web services (see XML Web services)
XML Web services, 20, 333-66
article-distribution example, 282, 355-65
command-line tools and, 351-54
creating and testing, 356-61
data access and, 282
DCOM and RPC vs., 333-34
expanding and testing, 37-41
consuming, 344-54, 361-64
creating, with Visual Studio .NET, 81-84
creating simple, 336-43
.NET Framework and, 23
possible enhancements to, 364-65
security options, 355-56
standards for, 334-35
using WebMethod attribute properties, 342-43
Z
zero-based arrays, 56
Last Updated: November 12, 2001
|