Connolly index.fm Page 1017 Sunday, January 28, 2007...

33
1017 Index Index A Absolute expiry time, 739 Abstract base classes, data provider, 504 AbstractDA.cs, 568–572 AbstractEntity.cs, 470–471 Accept-Language HTTP value, 966 Access control list (ACL), 757 AccessDataSource control, 554, 562 Accessible tables, creating, 154–158 AccessibleHeaderText property, DataControlField, 619 AccessibleTable.aspx, 156 AccessKey attribute, Label control, 109 AccessKey property, WebControl class, 103 AcquireRequestState event, 94 Activate event, View control, 193 Active Directory or Active Directory Application Mode (ADAM), 793 ActiveDirectoryMembershipProvider, 793 ActiveStepChanged event handler, 220–221 ActiveStepChanged event, Wizard control, 219 ActiveViewChanged event, MultiView control, 193 ActiveViewIndex property, MultiView control, 193 AdCreated event, AdRotator control, 240 Administration pages, 754 ADO.NET, 503–576 abstract base classes, 504–505 architecture, 504 classes in, 503 coding, data provider-independent, 550–554 data providers, 503, 505 defined, 503 local transaction, 525–526 AdRotator control, 100, 180, 237–241 AdCreated event, 240 advertisement XML file, 238–239 AdvertisementFile property, 237 AlternateTextField property, 237 displaying advertisements from a database, 239–240 events of, 240 ImageUrlField property, 237 KeywordFilter property, 237 NavigateUrlField property, 237 programming, 240–241 properties of, 237 Target property, 237 AdvertisementFile property, AdRotator control, 237 Agile and Iterative Development (Larman), 669 AllowLayoutChange property, WebPartZone control, 863

Transcript of Connolly index.fm Page 1017 Sunday, January 28, 2007...

1017

IndexIndex

AAbsolute expiry time, 739Abstract base classes, data provider, 504AbstractDA.cs, 568–572AbstractEntity.cs, 470–471Accept-Language HTTP value, 966Access control list (ACL), 757AccessDataSource control, 554, 562Accessible tables, creating, 154–158AccessibleHeaderText property,

DataControlField, 619AccessibleTable.aspx, 156AccessKey attribute, Label control, 109AccessKey property, WebControl class,

103AcquireRequestState event, 94Activate event, View control, 193Active Directory or Active Directory

Application Mode (ADAM), 793

ActiveDirectoryMembershipProvider, 793

ActiveStepChanged event handler, 220–221

ActiveStepChanged event, Wizard control, 219

ActiveViewChanged event, MultiView control, 193

ActiveViewIndex property, MultiView control, 193

AdCreated event, AdRotator control, 240Administration pages, 754ADO.NET, 503–576

abstract base classes, 504–505architecture, 504classes in, 503coding, data provider-independent,

550–554data providers, 503, 505defined, 503local transaction, 525–526

AdRotator control, 100, 180, 237–241AdCreated event, 240advertisement XML file, 238–239AdvertisementFile property, 237AlternateTextField property, 237displaying advertisements from a

database, 239–240events of, 240ImageUrlField property, 237KeywordFilter property, 237NavigateUrlField property, 237programming, 240–241properties of, 237Target property, 237

AdvertisementFile property, AdRotator control, 237

Agile and Iterative Development (Larman), 669

AllowLayoutChange property, WebPartZone control, 863

Connolly_index.fm Page 1017 Sunday, January 28, 2007 10:21 AM

Index1018

AllowPaging property:DetailsView control, 616FormView control, 601GridView control, 627

AllowSorting property, GridView control, 627

ALTER keyword, 519AlternateText property:

Image control, 139ImageField element, 621

AlternateTextField property, AdRotator control, 237

AlternatingItemTemplate, 582Amazon Web Services (AWS), 908–909

AmazonBookControl.ascx, 919–920AmazonBookControl.ascx.cs,

920–923consuming, 918–926

Anonymous access, 756, 846–848Anonymous profiles:

deleting, 848–850migrating, 850–851

AnonymousID property, HttpRequest, 79AnonymousIdentificationModule, 91App_Browsers folder, 22App_Code folder, 22, 77App_Data folder, 22App_GlobalResources folder, 22, 77App_LocalResources folder, 22, 77App_Themes folder, 22App_WebReferences folder, 22App_WebResources folder, 77AppDomain, 89–90Appearance:

Cascading Style Sheets (CSS), using with controls, 314–319

common properties, 312–314server controls, changing, 311–319skins:

Cool.skin, 336coolstyles.css, 339–340creating, 323defining, 321–322named, 326–327Professional.skin, 337professionalStyles.css,

337–339

using, 320–322themes:

adding, 322–324applying, 324creating in Visual Studio, 322–323and CSS, 328–331dynamically setting, 331–333how they work, 324–325and images, 327–328overriding, 325–326ThemeTester.aspx, 333–334ThemeTester.aspx.cs, 335using, 320–322

AppearanceEditorPart control, 883AppendDataBoundItems property,

ListControl class, 128Application data caching, 738–740Application domain, 87–88Application lifecycle:

ASP.NET, 81–94ASP.NET core objects created for the

request, 88–89assigning HttpApplication object

to request, 89–91key steps in, 82user request for ASP.NET resource

from server, 82–88user request processed using

HttpApplication pipeline, 92–94

Application logic, 671Application logic layer, 689

creating, 699–702Application pools, 85–86Application state, 725–727

Global.asax file, 726storage of, 725

ApplicationManager class, 87ApplicationPath property,

HttpRequest, 79ApplyFormatInEditMode property,

BoundField element, 620Architecture:

provider model, 781–784Factory Method design pattern, 781provider-based services, 782–783Strategy design pattern, 781

Connolly_index.fm Page 1018 Sunday, January 28, 2007 10:21 AM

Index 1019

Array class, 451ArrayList collection, 451, 456–461.asax, 22.ascx, 22, 91.ashx, 23.asmx, 23, 91ASP (Active Server Pages), 4ASP.NET:

advantages of, 8application class/file, 89application design, 666–670application lifecycle, 81–94

ASP.NET core objects created for the request, 88–89

assigning HttpApplication object to request, 89–91

key steps in, 82user request for ASP.NET resource

from server, 82–88user request processed using

HttpApplication pipeline, 92–94

built-in tags, 7button controls, 115–123cache, See ASP.NET cache.code compilation, 72–78code-behind file, 20compilation order, 76–78consuming Web services in, 910–914control state, 58core objects, creation of, 88–89defined, 3–4encountering errors, 43–46event model, 53–71event types, 57expressions, 556–557file types, 22–23how it works, 53–95HttpHandlers, 91HttpModules, 90–91impersonation, 758NONE authentication mode, 764parser, 45Passport authentication mode, 764postback, 55–57profiles, 834–854reserved application folders, 22

runtime, 88security, 754–765, See also Security.

authentication, 754process, 758–760

security checks, 759state management, 717–750trust levels, 760–761validation controls, 272view state, 57–58Web application structure, 21–23Web Forms, 15–23

creating, 29–50processing cycle for, 55–56

Web server control, 17Windows authentication mode, 764worker process, 84–85

ASP.NET 2.0:code-behind page inheritance with, 74compilation process with, 76embedded code page inheritance with,

75release of, 3

ASP.NET AJAX, See Atlas.ASP.NET cache, 738–748

application data caching, 738–740cache:

defined, 738integrating with a layered design,

740–743cache dependencies, 743–745DataCache.cs, 741page output caching, 745–748

full page caching, 745–746partial page caching, 746–747

ASP.NET SQL Server Registration Tool, 793

ASP.NET Website Administration Tool (WAT), 793

.aspx, 23, 91Assemblies, MSIL, 11AssociatedControlId property, Label

control, 108AssociatedHeaderCellID property,

TableCell control, 151, 156

Asynchronous Web services, 930–936Asynchronously, use of term, 930

Connolly_index.fm Page 1019 Sunday, January 28, 2007 10:21 AM

Index1020

Atlas, 991–1015architecture, 996–1000client features, 996–1000control extenders, 1009

Atlas Control Toolkit extenders, 1012–1015

AutoCompleteExtender, 1010–1012

defined, 991, 992installing, 994–996partial page updates, enabling,

1006–1008server features, 1000–1001site template files, 995UpdateProgress control, using,

1008–1009using, 1001–1006

Atlas Control Toolkit extenders, 1012–1015Attributes, 719Attributes property:

ListItem class, 129WebControl class, 103

Authenticate event, 820Authenticated identity, 754AuthenticateRequest event, 92Authentication, 754, See also Forms

authentication.basic, 756certificate-based, 757digest, 756–757Secure Sockets Layer (SSL), 756

Authorization, 754role-based, 754

AuthorizeRequest event, 92AutoCompleteExtender, 1010–1012AutoCompleteType property, TextBox

control, 112AutoGenerateColumns property,

GridView control, 627AutoGenerateDeleteButton property:

DetailsView control, 616GridView control, 627, 651

AutoGenerateEditButton property:DetailsView control, 616GridView control, 627, 651

AutoGenerateInsertButton property, DetailsView control, 616

AutoGenerateRows property, DetailsView control, 616, 618

AutoGenerateSelectButton property, GridView control, 628

AutoPostBack property, TextBox control, 112

.axd, 23

BBackColor property, WebControl class,

103BackImageUrl property:

DetailsView control, 617FormView control, 601GridView control, 628Panel control, 183Table control, 150WebPartZone control, 863

Base Class Library (BCL), .NET Framework, 13

BaseCompareValidator control, 284–285

properties of, 285BaseWizardStep, 205–206Basic authentication, 756BeginRequest event, 92BeginTransaction method,

DbConnection class, 525BehaviorEditorPart control, 883–885Bin folder, 22BitArray collection, 451BookCatalogLogic.cs, 701–702

ObjectDataSource, setting up, 704–705

BookDA.cs, 572–573BookPortal.aspx, 703BookWithThemes.master, 361–362BookWithThemes.master.cs, 362–364BorderColor property, WebControl

class, 103BorderStyle property, WebControl

class, 103BorderWidth property, WebControl

class, 103Bottom-level compilation item order, 77

Connolly_index.fm Page 1020 Sunday, January 28, 2007 10:21 AM

Index 1021

BoundField element, 618ApplyFormatInEditMode property,

620ConvertEmptyStringToNull

property, 620DataField property, 620DataFormatString property, 620HtmlEncode property, 620NullDisplayText property, 621properties of, 620–621ReadOnly property, 620

Break points, 46Browse mode, 876BufferOutput property, HttpResponse,

80BulletedList control, 100, 127, 131–138

BulletedListTest.aspx, 132–134BulletedListTest.aspx.cs, 133CheckBoxList control, 135–138properties of, 131–132RadioButtonList control, 135–138

BulletedListConsumer.aspx, 381–383BulletImageUrl property, BulletedList

control, 131BulletStyle property, BulletedList

control, 131Business objects:

defined, 674designing/implementing, 674–684samples of, 677using programmatically, 684–685using with ObjectDataSource,

685–689Business rules, 672

invalid, handling, 711–713Button class, 115

events, 117properties, 116

Button control, 100ButtonTest.aspx.cs, 117–118properties and events of, 116–117

Button controls, ASP.NET, 115–123ButtonField field type, 618ButtonType property, CommandField

element, 624

CC#, 10, 21C++, 10Cache, 88

defined, 738dependencies, 743–745integrating with a layered design,

740–743Cache property, HttpResponse, 80CacheDuration property, 565CacheExpirationPolicy property, 565Calendar control, 100, 158–176

CalendarTest.aspx, 160–161Caption property, 162CaptionAlign property, 162DayNameFormat property, 163DayRender event, 164

custom, 166–172responding to, 165

events, 164FirstDayOfWeek property, 163NextMonthText property, 163NextPrevFormat property, 163pop-up calendar, creating, 173–176Popup.aspx, 174–175Popup.aspx.cs, 175–176PopupCalendarTest.aspx, 173–174PrevMonthText property, 163properties of, 162–163SelectedDate property, 163SelectedDates property, 163SelectionChanged event, 164SelectionMode property, 163SelectMonthText property, 163SelectWeekText property, 163ShowDayHeader property, 163ShowGridLines property, 163ShowNextPrevMonth property, 163ShowTitle property, 164style elements, 159–164TitleFormat property, 164TodaysDate property, 164UseAccessibleHeader property, 164VisibleDate property, 164VisibleMonthChanged event, 164

Connolly_index.fm Page 1021 Sunday, January 28, 2007 10:21 AM

Index1022

Calendar style templates, 160Cancel method, DbCommand classes, 516CancelButtonClick event, Wizard

control, 219CancelImageUrl property, CommandField

element, 624CancelText property, CommandField

element, 624Caption property:

Calendar control, 162FormView control, 601Table control, 150

CaptionAlign property:Calendar control, 162FormView control, 601Table control, 150

CartItem class, adding, 638–639Catalog, defined, 880Catalog mode, 876, 880–882Catalog Zone, 878CatalogIconImageUrl property,

IWebPart, 867CatalogPart controls, 880–881CatalogZone control, 880CausesValidation property:

Button/ImageButton/LinkButton classes, 116

Checkbox control, 124CommandField element, 624

CellPadding property:FormView control, 601RadioButtonList/CheckBoxList

controls, 135Table control, 150

Cells property, TableRow control, 151CellSpacing property:

FormView control, 601RadioButtonList/CheckBoxList

controls, 135Table control, 150

Certificate-based authentication, 757Certificates, defined, 757Change events, 68ChangePassword control, 814, 824–826ChangePassword method,

MembershipUser class, 800

ChangePasswordQuestionAndAnswer method, MembershipUser class, 800

CheckAndRadioLists.aspx, 135–136, 138CheckAndRadioLists.aspx.cs, 137CheckBox control, 100, 123–126

CheckBoxTest.aspx, 124–126CheckBoxTest.aspx.cs, 125events, 125properties, 124

CheckBoxField element, 618CheckBoxList control, 100, 127, 135–138

properties of, 135CheckBoxStyle login template, 816Checked property:

Checkbox control, 124TreeNode control, 425Web part verbs, 866

CheckedChanged event, Checkbox class, 124

ChildNodes property, TreeNode control, 425

ChildNodesPadding property, 424Chrome, 857Class hierarchy, 859Class library hierarchy, .NET Framework,

13Click event, Button/ImageButton/

LinkButton classes, 116Clicked event, ImageMap control, 142Client-based event system vs. ASP.NET

event system, 54Client-side events, 121–123

ClientEvents.aspx, 122–123Client-stored state, 718–724

control state, 722cookies, 723–724hidden fields, 722querystrings, 723view state, 718–722

ClientValidationFunction property, CustomValidator control, 296

Close (Web part verb), 866Code access security, 760

.NET Framework, 760

Connolly_index.fm Page 1022 Sunday, January 28, 2007 10:21 AM

Index 1023

Code compilation, ASP.NET, 72–78Code declaration block, 15Code render blocks, 40Code-behind file, 15Code-behind page inheritance, with

ASP.NET 2.0, 74CodeFile attribute, 19Cohesive, use of term, 667ColdFusion (Adobe), 7CollapsiblePanelExtender,

1013–1014CollapsiblePanelProperties

elements, 1013Collection classes, 450–451Collection interfaces, 451–453Collection properties, 106CollectionBase class, 451Collections, 450–461

common, using, 453–461dictionary, 465–467generic:

constraining, 469–472making your own, 468–472

iterating through, 455–456Color-based properties, 105–106Columns property, TextBox control, 112ColumnSpan property, TableCell

control, 152Command buttons, 116Command event, 119–121

Button/ImageButton/LinkButton classes, 116

CommandTest.aspx, 119CommandTest.aspx.cs, 120

CommandArgument property, Button/ImageButton/LinkButton classes, 116

CommandEventArgs parameter, 54CommandField element, 618

ButtonType property, 624CancelImageUrl property, 624CancelText property, 624CausesValidation property, 624DeleteImageUrl property, 624DeleteText property, 624DetailsView control, 623–624EditImageUrl property, 624

EditText property, 624InsertImageUrl property, 624InsertText property, 624NewImageUrl property, 624NewText property, 624properties of, 624SelectImageUrl property, 624SelectText property, 624ShowCancelButton property, 624ShowDeleteButton property, 624ShowEditButton property, 624ShowInsertButton property, 625ShowSelectButton property, 625UpdateImageUrl property, 625UpdateText property, 625ValidationGroup property, 625

CommandName property, 606Button/ImageButton/LinkButton

classes, 116Commands, 508CommandText property, DbConnection,

516, 519CommandTimeout, 516CommandType, 516Comment property, MembershipUser

class, 799Common Intermediate Language (CIL/IL),

11Common Language Runtime (CLR), 11–13Common Language Specification (CLS),

10–11CompareValidator control, 272, 284–287

properties of, 285Compilation order, ASP.NET, 76–78Compilation process, with ASP.NET 2.0, 76Complex domain entity, creating, 696–699.config, 23Configuration files, 754ConfigurationManager.AppSettings

method, 267Connect mode, 876Connect (Web part verb), 866Connection, 516Connection point, 890Connection pooling, 509, 515, 532Connection strings, 509–510

storing, 513–514

Connolly_index.fm Page 1023 Sunday, January 28, 2007 10:21 AM

Index1024

Connection to a data source, 508ConnectionString property, 509connectionString, Web.config file,

513ConnectionStringBuilder, using,

514–515ConnectionStringSettings, 514ConnectionTimeout property, 509Constraints, of a generic collection, 469–472Consumer Web part, 889, 894–896

creating the Web part page with, 899defining, 897–898

Container controls, 200Control caching, 746Control class, properties of, 104Control events, 57Control extenders, 1009

Atlas Control Toolkit extenders, 1012–1015

AutoCompleteExtender, 1010–1012Control state, 58, 722

ASP.NET, 58ControlParameter, 558Controls property, Control class, 104ControlStyle property,

DataControlField, 619ControlTester.aspx, 924–926ControlTester.aspx.cs, 926ControlToCompare property,

CompareValidator control, 285

ControlToValidate property, validation controls, 279

ConvertEmptyStringToNull property:BoundField element, 620ImageField element, 621Parameter class, 558

Cookieless authentication tickets, 779–780CookieParameter, 558Cookies, 723–724

expiration of, 724reading/writing, 724

Cookies property:HttpRequest class, 79HttpResponse class, 80

Cool.skin, 336coolStyles.css, 339–341

Copy Web Site command, 973Copy Web Site interface, 973–974Coupling, classes, 667CREATE PROCEDURE command, 519CreateChildControls method, 886CreateObject method,

HttpServerUtility, 81CreateParameter method, DbCommand

classes, 516CreateUser method, Membership class,

797CreateUserIconUrl property, Login

control, 817CreateUserText property, Login

control, 817CreateUserUrl property, Login control,

817CreateUserWizard control, 814, 828–829CreationDate property, MembershipUser

class, 799Credentials, 754Cross-page posting, 71CRUD (Create, Retrieve, Update, and

Delete), 671CSS control adapters, 662.css files, 21CssClass property, WebControl class,

103CTS (Common Type System), 9Culture, 952Culture ID, 959Culture property, Page class, 966CultureInvariantValues property,

BaseCompareValidator control, 285

Current Weather user control, 915–917Custom controls:

BookListViewer.cs, 872–873custom verb, adding, 874–876making Web parts from, 872–876

Custom providers:creating, 784–791defining for existing provider service,

784–786new service, defining, 786–791ReviewService.cs, 789–790

Custom server controls, 99

Connolly_index.fm Page 1024 Sunday, January 28, 2007 10:21 AM

Index 1025

Customer.cs, 453–454Customize Line Images option, TreeView

task panel, 430CustomProfile.cs, 844–846CustomValidator control, 273, 296–302

automatic client-side updating, 299–302ClientValidationFunction

property, 296custom client-side validation, 298–299events of, 296properties of, 296ServerValidate event, 296UsingCustomValidators.aspx,

300–301UsingCustomValidators.aspx.cs,

302ValidateEmptyText property, 296validation groups, 302–308

DData access classes, 568Data access layer, 671–672

modifying, 692–696Data access objects, 554, 562, 567, 573Data adapters, 508, 553Data binding, 447–501, 530, 554, 562, 574,

577–578defined, 392, 447

Data containers, 503–504Data controls, 577–664

data-binding expressions, 584–587DetailsView control, 614–626GridView control, 626–644multivalue, 577–587object model, 582templates, 582–583

Data providers, 503–504ADO.NET, 505choosing, 506–508classes, 508

Data readers, 508Data source controls, 554–573

how they work, 561–562modifying data, 560–561parameters, using, 557query string parameters, 560

Data transfer object, 691DataAlternateTextField property,

ImageField element, 621DataAlternateTextFormatString

property, ImageField element, 621

Database commands, 508Database null, 531–532Database property, 509Database schema, 535Data-binding expressions, 392, 584–587DataBoundControl class, 127–128DataCache.cs, 741DataColumn class, 473DataColumnCollection class, 473DataControlField:

AccessibleHeaderText property, 619base class, 618ControlStyle property, 619FooterStyle property, 619FooterText property, 619HeaderImageUrl property, 619HeaderStyle property, 619HeaderText property, 619InsertVisible property, 619ItemStyle property, 619properties of, 619ShowHeader property, 619SortExpression property, 619Visible property, 619

DataEditor.aspx.cs, 536DataField property, BoundField

element, 620DataFile attribute, 555DataFormatString property,

BoundField element, 620DataImageUrlField property,

ImageField element, 621DataImageUrlFormatString property,

ImageField element, 621DataItem property:

DetailsView control, 617FormView control, 601TreeNode control, 425

DataItemCount property:DetailsView control, 617FormView control, 601

Connolly_index.fm Page 1025 Sunday, January 28, 2007 10:21 AM

Index1026

DataItemIndex property:DetailsView control, 617FormView control, 601

DataKey property:DetailsView control, 617FormView control, 602GridView control, 628

DataKeyNames property:DetailsView control, 617FormView control, 602GridView control, 628

DataList control, 578, 587–595linking pages with, 593–595properties of, 589–590templates, 591–593

DataNavigateUrlField property, HyperLinkField, 631

DataNavigateUrlFormatString property, HyperLinkField, 631

DataPath property, TreeNode control, 425DataRelation class, 473DataRelationCollection class, 473DataRow class, 473DataRowCollection class, 473DataSet, 472–499, 503

calculated columns, creating, 477classes, 473–474data containers:

choosing, 495custom collections as, 496–497.NET collections as, 496typed DataSets as, 498–499using a DataSet as, 497–498

DataTable class, using, 475DataView, 478–481defined, 473relating DataTables, 486–487typed DataSets, 483–485using, 481–485XML integration with, 488–495

DataSet classes, 473–474DataSource property, 449DataTable class, 473, 503DataTableCollection class, 474DataTextField property:

HyperLinkField, 631

ListControl class, 128DataTextFormatString property:

HyperLinkField, 631ListControl class, 128

DataValueField property, ListControl class, 128

DataView, 478–481DataViewTester.aspx, 479DataViewTester.aspx.cs, 479–481Date and time format strings, 586

custom, 588DayHeaderStyle element, 159DayNameFormat property, Calendar

control, 163DayRender event:

Calendar control, 164custom, 166–172responding to, 165

DayStyle element, 159DbCommand, 503, 504, 505, 508, 574

Cancel method, 516classes, 515–529

transactions, 525–529CreateParameter method, 516creating, 517DbParameter, using, 522–525ExecuteNonQuery method, 516, 520ExecuteReader method, 516ExecuteScalar method, 516, 520Prepare method, 516

DbCommandBuilder, 506, 549–550DbConnection, 503, 504, 505, 508, 574

classes, 508–515properties of, 509

connecting pooling, 515connection strings, 509–510

storing, 513–514programming, 511–512SQL commands for retrieving, adding,

updating, or deleting data, 517–518

stored procedures, 519–520DbConnectionStringBuilder, 506, 515DbDataAdapter, 503, 504, 505, 508, 574

classes, 544–550methods, 544properties of, 544

Connolly_index.fm Page 1026 Sunday, January 28, 2007 10:21 AM

Index 1027

DeleteCommand property, 547–548Fill method, 545–547InsertCommand property, 547–548Update method, 547–550

DbDataPermission, 506DbDataReader, 503–504, 505, 508, 574

classes, 529–543data binding of, 530defined, 529–530IsDBNull method, 532multiple result sets, 533NextResult method, 533programming, 530–532

handling nulls, 531–532implicit connection closing, 532–533

DbException, 506DbParameter, 506, 522

classes, properties of, 523DbProviderFactories class, 551–552DbProviderFactory class, 553, 561DbTransaction, 506, 525DbType property, DbParameter classes, 523Debugger:

Visual Studio, 46–50using, 46–50

DeclarativeCatalogPart, 881–882Default resource values, 956Default.aspx, 359–360Default.aspx.cs, 360DefaultAuthenticationModule, 91DefaultButton property, Panel control,

183DefaultMode property:

DetailsView control, 617FormView control, 602GridView control, 628

DefaultValue property, Parameter class, 558

Delegate, 64Delete (Web part verb), 866DeleteCommand property, DbDataAdapter

classes, 544DeleteImageUrl property, CommandField

element, 624DeleteMethod property,

ObjectDataSource control, 563

DeleteText property, CommandField element, 624

DeleteUser method, Membership class, 797

Deployment, 972–987controlling with the Web Deployment

Project add-in, 980–981manually copying files from development

to deployment machine, 972–981

.NET Framework, 9precompiling a Web site, 975–979

Depth property, TreeNode control, 425Description property:

IWebPart, 867Web part verbs, 866

DescriptionUrl property, Image control, 139

Deserialization, 719Design mode, 877, 878–880DestinationPageUrl property, Login

control, 817DetailsView control, 560–561, 565,

579–580, 614–626AllowPaging property, 616AutoGenerateDeleteButton

property, 616AutoGenerateEditButton property,

616AutoGenerateInsertButton

property, 616AutoGenerateRows property, 616, 618BackImageUrl property, 617CommandField in, 623data, modifying, 622–626DataItem property, 617DataItemCount property, 617DataItemIndex property, 617DataKey property, 617DataKeyNames property, 617DefaultMode property, 617defined, 614edit and insert interface, customizing,

625–626EmptyDataText property, 617EnablePagingCallbacks property,

617

Connolly_index.fm Page 1027 Sunday, January 28, 2007 10:21 AM

Index1028

DetailsView control (continued):Fields element, 618–621FooterText property, 617GridLines property, 617HeaderText property, 617PageIndex property, 617properties of, 616–617SelectedValue property, 617simple, example of, 615styled, 616

DetailsView fields, customizing, 618–622Development framework, .NET Framework

as, 9Development server, 25Dictionary, 465–467Dictionary collections, 465–467

generics, 464DictionaryBase class, 451Digest, 756–757Digest authentication, 756–757Direct output, dynamic technology, 5Direction property:

DbParameter classes, 523Panel control, 183

Directionality, 965Directives, 17Display modes, changing, 876–878Display property:

validation controls, 279values, 280

DisplayMode property:BulletedList control, 131ValidationSummary control, 282

DisplayRememberMe property, Login control, 817

Distributed transaction, 527–528Document property, Xml control, 246DocumentContent property, Xml control,

246DocumentSource property, Xml control,

246, 247Domain classes, 472Domain layer, 689Domain layer classes, 691–692Domain Model pattern, 573Domain-Driven Design (Evans), 670DotGNU Portable .NET, 12

DragHighlightColor property, WebPartZone control, 863

DragOverlayExtender, 1010DropDownList control, 100, 127, 558–560,

608–610Dynamic connections, 901–902Dynamic technology, types of, 5Dynamic Web content, 4–5

EeBay, 908Edit mode, 877, 883–889Edit (Web part verb), 866EditFormView.aspx, 610–612EditImageUrl property, CommandField

element, 624EditItemTemplate, 583, 606–607EditorPart controls, 883EditText property, CommandField

element, 624Ellipses (…), 78Email property, MembershipUser class,

799Embedded code page inheritance, with

ASP.NET 2.0, 75EmptyDataText property:

DetailsView control, 617FormView control, 602GridView control, 628

EmptyZoneText property, WebPartZone control, 864

EmptyZoneTextStyle element, WebPartZone control, 862

EnableClientScript property:validation controls, 279ValidationSummary control, 282

Enabled property:ListItem class, 129validation controls, 279Web part verbs, 867WebControl class, 103

EnablePagingCallbacks property, DetailsView control, 617

EnableSortingAndPagingCallbacks property, GridView control, 628

Connolly_index.fm Page 1028 Sunday, January 28, 2007 10:21 AM

Index 1029

EnableViewState property, Control class, 104

Encryption service, 783EndRequest event, 93EntityCollection classes, 573EntityCollection.cs, 471–472Enumerator, defined, 452ErrorHandlerModule, 91ErrorMessage property, validation

controls, 279ErrorStyle element, WebPartZone

control, 862Event handlers, 54

example (walkthrough), 64–67Event model, 53–71Event properties, 105Event viewer, 264EventArgs parameter, 54

event handlers, 54EventTest.aspx, 68–69EventTest.aspx.cs, 69–70Exception handling, 257–271

at the application level, 264–271Application_Error event

handler, 264–269common HTTP errors, 271custom error pages, 270–271

at the class level using a try…catch block, 259–262

exception handling strategies, 261–262exceptions, cost of, 260–261at the page level, 262–264

ExecuteNonQuery method, DbCommand classes, 516, 520

ExecuteReader method, DbCommand classes, 516, 532–533

ExecuteScalar method, DbCommand class, 516, 520

ExpandDepth property, TreeView control, 433

Expanded property, TreeNode control, 425, 433

Explicit resource expression, 962Export (Web part verb), 866ExtenderTester.aspx file, 1010ExtractTemplateRows property,

DataList control, 589

FFactory class, 550–551FailureAction property, Login control,

817FailureText property, Login control,

817FailureTextStyle login template, 816FeatureBookControl.ascx, 369FeatureBookControl.ascx.cs, 368Fields element, DetailsView control,

618–621File system editor window, 983File system Web sites, 26–27File types, ASP.NET, 22–23FileAuthorizationModule, 91FileBytes property, FileUpload

control, 223FileContent property, FileUpload

control, 223FileName property, FileUpload control,

223FilePath property, HttpRequest, 79FileUpload control, 100, 180, 222–226

FileBytes property, 223FileContent property, 223FileName property, 223HasFile property, 223PostedFile property, 223properties of, 223uploaded file:

limiting size of, 226processing, 225–226

Fill method, DbDataAdapter classes, 545–547

FillSchema method, DbDataAdapter classes, 544

FindUsersByEmail method, Membership class, 797

FindUsersByName method, Membership class, 797

FinishButtonClick event, Wizard control, 219

FinishedButtonClick event handler, 221

FirstBulletNumber property, BulletedList control, 132

Connolly_index.fm Page 1029 Sunday, January 28, 2007 10:21 AM

Index1030

FirstDayOfWeek property, Calendar control, 163

Font property, WebControl class, 103FooterStyle element, WebPartZone

control, 862FooterStyle property,

DataControlField, 619FooterTemplate, 583FooterText property:

DataControlField, 619DetailsView control, 617FormView control, 602GridView control, 628

ForeColor property:validation controls, 279ValidationSummary control, 282

Form property, HttpRequest, 79FormParameter, 558Forms authentication, 765–780

authentication tickets, security concerns with, 779–780

cookieless authentication tickets, 779–780

how it works, 775–779log-in form, creating, 768–769Login.aspx, 768–769Login.aspx.cs, 770–771mode, ASP.NET, 764–765options, 778–779ticket, 777user credentials, storing in Web.config

file, 773–775using, 765–768

FormsAuthenticationModule, 90FormView control, 560–561, 579–580,

599–614defined, 599–600modifying data, 604–614moving from record to record, 602–604sample, 600two-way data binding, 607–608

Four-layer model, 689–714application logic layer, 689

creating, 699–702BookCatalogLogic.cs, 701–702

ObjectDataSource, setting up, 704–705

BookPortal.aspx, 703complex domain entity, creating,

696–699data access layer, modifying, 692–696data transfer object, 691designing with a four-layer architecture,

689–692domain layer, 689domain layer classes, 691–692entities, 670presentation layer, using the architecture

in, 702–703Template Method pattern, 693–694

Fowler, Martin, 567, 573, 668Fowler, Susan, 631Framework, Web parts, 854–902FTP Web sites, 29Full page caching, 745–746Full (trust name), 760

GGenerateEmptyAlternateText

property, Image control, 139GeneratePassword method,

Membership class, 797Generic collections:

constraining, 468–472making your own, 468–472

Generics, 461–465collection classes, 464function of, 463–465need for, 461–463

geotrust.com, 757GetAllUsers method, Membership class,

797GetFactory method, 551–552GetFactoryClasses method,

DbProviderFactories, 552–553

GetFillParameters method, DbDataAdapter classes, 544

GetNumberOfUsersOnline method, Membership class, 797

GetPassword method, MembershipUser class, 800

GetUser method, Membership class, 797

Connolly_index.fm Page 1030 Sunday, January 28, 2007 10:21 AM

Index 1031

GetUserNameByEmail method, Membership class, 797

.gif files, 21Global resources, 964–966Global.asax, 77, 89, 396–397, 726Globalization, 952Google, 908GridLines property:

DataList control, 589DetailsView control, 617FormView control, 602GridView control, 628Table control, 150

GridView control, 558, 560, 581, 626–644AllowPaging property, 627AllowSorting property, 627AutoGenerateColumns property, 627AutoGenerateDeleteButton

property, 627, 651AutoGenerateEditButton property,

627, 651AutoGenerateSelectButton

property, 628BackImageUrl property, 628ButtonField, 633–634

using, 633columns, customizing, 629–633DataKey property, 628DataKeyNames property, 628default editing, 651DefaultMode property, 628EditGridView.aspx, 652–654editing data within, 651–655EmptyDataText property, 628EnableSortingAndPagingCallbacks

property, 628FooterText property, 628GridLines property, 628HeaderText property, 628HyperLinkField, using, 630–633master-details form, 641–644nested controls, 660–662PageIndex property, 628PageSize property, 628and pagination, 645–648performing calculations, 656–660

programmatic row customization, 655–656

properties of, 627–629rows, selecting, 639–644SelectedDataKey property, 629SelectedIndex property, 629SelectedRow property, 629SelectedValue property, 629selection properties, 642ShowFooter property, 629ShowHeader property, 629simple, sample of, 627SortDirection property, 629SortExpression property, 629sorting, 648–650

with ObjectDataSource control, 650

walkthrough, 633–638GroupingText property, Panel control,

183

HHasFile property, FileUpload control,

223Hashtable collection, 452, 453HeaderImageUrl property,

DataControlField, 619HeaderStyle element, WebPartZone

control, 863HeaderStyle property,

DataControlField, 619HeaderTemplate, 583HeaderText property:

DataControlField control, 619DetailsView control, 617FormView control, 602GridView control, 628ValidationSummary control, 282WebPartZone control, 864

Height property, WebControl class, 103HelloWorldCodeBehind.aspx, 18–19HelloWorldCodeBehind.aspx.cs, 19HelloWorldEmbedded.aspx, 16Help (Web part verb), 866HelpPageIconUrl property, Login

control, 817

Connolly_index.fm Page 1031 Sunday, January 28, 2007 10:21 AM

Index1032

HelpPageText property, Login control, 817

HelpPageUrl property, Login control, 817

Hidden fields, 722HiddenField control, 100, 147–149

HiddenFieldTest.aspx, 147–148HiddenFieldTest.aspx.cs,

148–149Value property, 147

High (trust name), 760HorizontalAlign property:

FormView control, 602Panel control, 183Table control, 150TableCell control, 152TableRow control, 151

HorizontalPadding property, 424HotSpotMode property, ImageMap

control, 142HotSpots property, ImageControl

control, 142HTML attributes, 106–107HTML server controls, 41, 98HtmlDecode method,

HttpServerUtility, 81HtmlEncode method,

HttpServerUtility, 81HtmlEncode property, BoundField

element, 620HTTP cookies, using, 723–724HTTP handlers, 77, 91HTTP module, 89HTTP protocol, 717HttpApplication objects, 89–90HttpApplication pipeline, processing

requests using, 92–94HttpApplicationFactory, 89HttpApplicationState, 88HttpContext, 88HttpHandlers, 91HttpModules, 90–91HttpRequest, 88–89

AnonymousID property, 79ApplicationPath property, 79Cookies property, 79FilePath property, 79

Form property, 79Params property, 79PhysicalPath property, 80properties of, 79–80QueryString property, 79ServerVariables property, 80

HttpResponse, 88–89BufferOutput property, 80Cache property, 80Cookies property, 80properties/methods of, 80Redirect method, 80Write method, 80

HttpServerUtility, 88CreateObject method, 81HtmlDecode method, 81HtmlEncode method, 81MapPath method, 81methods of, 81Transfer method, 81UrlDecode method, 81UrlEncode method, 81

HttpSessionState, 88Hybrid approach, dynamic technology, 5–6HyperLink control, 100, 145–147

HyperLinkTest.aspx, 145–146HyperLinkTest.aspx.cs, 146properties of, 145

HyperLinkField:DataNavigateUrlField property,

631DataNavigateUrlFormatString

property, 631DataTextField property, 631DataTextFormatString property, 631NavigateUrl property, 631Target property, 631Text property, 631using, 630–633

HyperLinkField element, 618HyperLinkStyle login template, 816

IICollection interface, 452Id property, Control class, 104IDataAdapter, 505

Connolly_index.fm Page 1032 Sunday, January 28, 2007 10:21 AM

Index 1033

IDataReader, 505IDataRecord, 505IDbCommand, 505IDbConnection, 505IDbDataAdapter, 505Identity fields, 518, 606IDictionary interface, 452IEnumerable interface, 449, 452IHttpAsyncHandler interface, 91IIS application pool, 85–86IIS security, 755–758IList interface, 452IListSource interface, 449Image control, 100, 138–141

ImageAlign property, 139ImageTest.aspx, 139–140ImageTest.aspx.cs, 140properties of, 139

ImageButton class:events, 117properties, 116

ImageButton control, 100properties and events of, 116–117

ImageClickEventArgs parameter, 54ImageField element, 618

AlternateText property, 621ConvertEmptyStringToNull

property, 621DataAlternateTextField property,

621DataAlternateTextFormatString

property, 621DataImageUrlField property, 621DataImageUrlFormatString

property, 621NullDisplayText property, 621NullImageUrl property, 621ReadOnly property, 621using, 621–622

ImageMap control, 100, 141–145events, 142ImageMapTest.aspx, 143–144ImageMapTest.aspx.cs, 144properties of, 142

ImageToolTip property, TreeNode control, 425

ImageUrl property:HyperLink control, 145ImageMap control, 139TreeNode control, 425Web part verbs, 867

ImageUrlField property, AdRotator control, 237

Impersonation, 758Implicit resource expression, 958ImportCatalogPart, 881Indexer property, 469Inherits attribute, 19InitializeCulture method, 967InitialValue control,

RequiredFieldValidator, 281

In-place precompilation, 975–976InProc (in-process) session provider, 731InputAttributes property, Checkbox

control, 124InsertCommand property, DbDataAdapter

classes, 544InsertImageUrl property, CommandField

element, 624InsertMethod property,

ObjectDataSource control, 563

InsertText property, CommandField element, 624

InsertVisible property, DataControlField, 619

Installer:changing properties of, 985creating using Web Setup Project,

981–987instantssl.com, 757InstructionText property, Login

control, 817InstructionTextStyle login template,

816Integrated security, 510Integrated Windows Authentication,

756–758Internet Information Services (IIS), 26Invariant name, 552ISAPI extension, 82

Connolly_index.fm Page 1033 Sunday, January 28, 2007 10:21 AM

Index1034

ISAPI filter, 82–83IsApproved property, MembershipUser

class, 799IsDBNull method, DbDataReader, 532IsLockedOut property, MembershipUser

class, 799IsNullable property, DbParameter

classes, 523IsOnline property, MembershipUser

class, 799IsValid property, validation controls, 279Items property, ListControl class, 128ItemStyle property,

DataControlField, 619ItemTemplate, 582IWebPart, 867–872

CatalogIconImageUrl property, 867CustomWebPartBase.cs, 870–871Description property, 867LoginControl.ascx.cs, 871–872properties, 867SubTitle property, 867Title property, 867TitleIconImageUrl property, 867TitleUrl property, 867

J–KJ++, 10Java, 7JavaServer Faces and Struts, 7Javascript, 17.jpg files, 21.js, files:JScript.NET, 10JSP (JavaServer Pages), 7JVM (Java Virtual Machine), 12Kerberos, 757KeywordFilter property, AdRotator

control, 237

LLabel control, 100, 108–110

LabelHotKeys.aspx, 109, 110properties of, 108

LabelAttributes property, Checkbox control, 124

Language interoperability, defined, 10Larman, Craig, 669LastActivityDate property,

MembershipUser class, 799LastLockoutDate property,

MembershipUser class, 799LastLoginDate property,

MembershipUser class, 799LastPasswordChangedDate property,

MembershipUser class, 799Layers, 667–670

compared to tiers, 669consequences of using, 669–670defined, 667dependencies, 667four-layer model, 689–714goal of layering, 667implementation, 667interface, 667three-layer model, 673–689two-layer model, 670–672visualizing, 668

LayoutEditorPart control, 883–884LayoutOrientation property,

WebPartZone control, 864Lazy initialization, 725Leaf node, 423LeafNodeStyle, 423LinkButton class:

events, 117properties, 116

LinkButton control, 100, 194–196properties and events of, 116–117

LinkedList collection, generics, 464List collection, generics, 464ListBox control, 100, 127ListBox tutorial, 534–544ListControl class, 127

class hierarchy, 127events, 128properties of, 128

ListControlProgrammatic.aspx, 130, 131

ListControlProgrammatic.aspx.cs, 130

ListItem class, properties of, 129List-style controls, 127–138

Connolly_index.fm Page 1034 Sunday, January 28, 2007 10:21 AM

Index 1035

List-to-object interaction pattern, 631Literal control, 100, 110–112

LiteralTest.aspx, 111properties of, 110

LiteralMode property, Literal control, 110

LoadControl method, Page class, 78Local IIS Web sites, 27–28Local proxy class, 909Local transactions, 525–526Localization, 952LocalizationDemo.aspx, 955LocalTransactions.aspx.cs, 526–527LoggedIn event, 820LoggingIn event, 820Login control, 814–820

CreateUserIconUrl property, 817CreateUserText property, 817CreateUserUrl property, 817defined, 814DestinationPageUrl property, 817DisplayRememberMe property, 817event handling with, 819–820FailureAction property, 817FailureText property, 817HelpPageIconUrl property, 817HelpPageText property, 817HelpPageUrl property, 817InstructionText property, 817login events, 820LoginButtonImageUrl property, 817LoginButtonText property, 817LoginButtonType property, 817MembershipProvider property, 817properties, 817–818sample, 815style templates, 816styling/customizing, 815–816

Login controls, 814–829LoginButtonImageUrl property, Login

control, 817LoginButtonStyle login template, 816LoginButtonText property, Login

control, 817LoginButtonType property, Login

control, 817LoginError event, 820

LoginImageUrl property, LoginStatus control, 821

LoginName control, 814, 820LoginStatus control, 814, 821–822

LoginImageUrl property, 821LoginText property, 821LogoutAction property, 821LogoutImageUrl property, 821LogoutPageUrl property, 821LogoutText property, 821

LoginText property, LoginStatus control, 821

LoginView control, 814, 822–824LogoutAction property, LoginStatus

control, 821LogoutImageUrl property, LoginStatus

control, 821LogoutPageUrl property, LoginStatus

control, 821LogoutText property, LoginStatus

control, 821Low (trust name), 760

MManaged code, 12MapPath method, HttpServerUtility,

81Markup, 39.master, 23Master-details form, 641–644

sample, 640MaximumValue property, RangeValidator

control, 287MaxLength property, TextBox control,

112Medium (trust name), 760Membership, 791–802

Membership API, 792using, 796–802

membership providers, 792–793service, 783system, overview of, 792–793

Membership class:CreateUser method, 797DeleteUser method, 797FindUsersByEmail method, 797

Connolly_index.fm Page 1035 Sunday, January 28, 2007 10:21 AM

Index1036

Membership class (continued):FindUsersByName method, 797GeneratePassword method, 797GetAllUsers method, 797GetNumberOfUsersOnline method,

797GetUser method, 797GetUserNameByEmail method, 797UpdateUser method, 797ValidateUser method, 797

MembershipProvider property, Login control, 817

MembershipUser class:ChangePassword method, 800ChangePasswordQuestionAndAnswer

method, 800Comment property, 799CreationDate property, 799Email property, 799GetPassword method, 800IsApproved property, 799IsLockedOut property, 799IsOnline property, 799LastActivityDate property, 799LastLockoutDate property, 799LastLoginDate property, 799LastPasswordChangedDate

property, 799PasswordQuestion property, 799ProviderName property, 799ProviderUserKey property, 799ResetPassword method, 800UnLockUser method, 800UserName property, 799

MenuCheckImageStyle element, WebPartZone control, 863

MenuCheckImageUrl property, WebPartZone control, 864

MenuLabelHoverStyle element, WebPartZone control, 863

MenuLabelStyle element, WebPartZone control, 863

MenuLabelText property, WebPartZone control, 864

MenuMapping.xml, 417–418MenuPopupImageUrl property,

WebPartZone control, 864

MenuPopupStyle element, WebPartZone control, 863

MenuStyling.aspx, 409–410MenuStyling.css, 410–411MenuVerbHoverStyle element,

WebPartZone control, 863MenuVerbStyle element, WebPartZone

control, 863Menu.xml, 242Menu.xslt, 244–245Microsoft Intermediate Language (MSIL),

11, 513Microsoft Internet Information Server (IIS),

754Microsoft SQL Server databases, data

provider for, 504Microsoft Web Services Enhancements

Toolkit, 948Microsoft’s Internet Information Services

(IIS), 27virtual directory, 29

Minimal (trust name), 760Minimize (Web part verb), 866MinimumValue property, RangeValidator

control, 287ModifyProductSiteMapNode, 396Mono project, 12MultiView control, 101, 180, 191–200

creating tabbed panels, 194–199events of, 193MultiViewTest.aspx, 197–199MultiViewTest.aspx.cs, 199navigation between views, 193–194properties of, 193

NName property, Parameter class, 558Namespaces, 13Naming containers, 200NavigateUrl property:

HyperLink control, 145HyperLinkField, 631TreeNode control, 425

NavigateUrlField property, AdRotator control, 237

Nested GridView contols, 660–662

Connolly_index.fm Page 1036 Sunday, January 28, 2007 10:21 AM

Index 1037

.NET Framework, 8–15Base Class Library (BCL), 13class library hierarchy, 13code access security, 760components of, 10–13core features of, 9defined, 4, 8–9as development framework, 9execution, 14–15language compilers, 10–12membership providers, 793namespaces, 13as software platform, 9

.NET Framework 2.0, 10

.NET Framework 3.0, 9–10

.NET Framework Base Class Library (BCL), 13

New resource entry, adding, 962NewImageUrl property, CommandField

element, 624NewText property, CommandField

element, 624NextButtonClick event handler, 219–220NextButtonClick event, Wizard

control, 219NextMonthText property, Calendar

control, 163NextPrevFormat property, Calendar

control, 163NextPrevStyle element, 159NextResult method, DbDataReader, 533Node, 244NodeSpacing property, 424NONE authentication mode, ASP.NET, 764Non-postback, controls, 68–70NullDisplayText property:

BoundField element, 621ImageField element, 621

NullImageUrl property, ImageField element, 621

Numeric format strings, 585, 586–587

OObfuscator, 12object parameter, event handlers, 54ObjectCreating event handler, 563

ObjectDataEditor.aspx, 566–567ObjectDataSource control, 554, 562–563

caching, 565example, 565–573modifying data with, 613–614pagination with, 646–647

Odbc, 507OleDb, 507OleDbCommand, 505OleDbConnection, 505, 511OleDbDataAdapter, 505OleDbDataReader, 505OnClientClick property, Button/

ImageButton/LinkButton classes, 116

Operator property, CompareValidator control, 285

Oracle, 508ODP.NET, 506

Oracle databases, data provider for, 504Orientation property, Login control, 818OutputCacheModule, 90

PPadding property, WebPartZone control,

864Page class, 78

LoadControl method, 78RegisterClientScriptBlock

method, 78Request property, 79Response property, 80Server property, 80–81Validate method, 78

Page events, 57Page lifecycle, 58–64Page output caching, 745–748

full page caching, 745–746partial page caching, 746–747

Page property, Control class, 104Page scripting dynamic technology, 5–6PageCatalogPart, 881–882PageIndex property:

DetailsView control, 617FormView control, 602GridView control, 628

Connolly_index.fm Page 1037 Sunday, January 28, 2007 10:21 AM

Index1038

Page-level culture settings, 966–971PageSize property, GridView control,

628Pagination:

custom, creating a stored procedure to implement, 647–648

and GridView control, 645–648with ObjectDataSource control,

646–647Panel control, 101, 180, 182–191

PizzaPanelTest.aspx, 184–185, 191PizzaPanelTest.aspx.cs, 186–189properties of, 183Wrap property, 183

Parameter class, properties of, 558Parameterized queries, 521ParameterName property, DbParameter

classes, 523Parameters, 516, 521

control types, 558Params property, HttpRequest, 79Parent node, 423Parent property:

Control class, 104TreeNode control, 425

ParentNodeStyle, 423ParentPage.cs, 357–358Parser error, 45–46PartChromeStyle element,

WebPartZone control, 863Partial page caching, 746–747Partial page updates, enabling, 1006–1008PartStyle element, WebPartZone

control, 863PartTitleStyle element, WebPartZone

control, 863Passport authentication mode, ASP.NET,

764PassportAuthenticationModule, 90Password property, Login control, 818PasswordLabelText property, Login

control, 818PasswordQuestion property,

MembershipUser class, 799PasswordRecovery control, 826–827PasswordRecoveryIconUrl property,

Login control, 818

PasswordRecoveryText property, Login control, 818

PasswordRecoveryUrl property, Login control, 818

PasswordRequiredErrorMessage property, Login control, 818

Patterns of Enterprise Application Architecture (Fowler), 567, 667

PayPal, 908Personalizable attribute, 886Personalization, 859–860

information, 833PHP (PHP Hypertext Preprocessor), 6PhysicalPath property, HttpRequest,

80Pipeline, 200

defined, 92PlaceHolder control, 101, 180, 227–236

file browser, creating, 228–236FileBrowser.aspx, 228–229FileBrowser.aspx.cs, 231–236

PopulateOnDemand property, TreeNode control, 425, 434

Pop-up calendar, creating, 173–176Portal, defined, 854PostAcquireRequestState event, 93PostAuthenticateRequest event, 92PostAuthorizeRequest event, 92Postback, 55–57

controls, 68–70detecting, 67–68flow, 56

PostbackUrl property, Button/ImageButton/LinkButton classes, 116

Post-cache substitution, 746–747PostedFile property, FileUpload

control, 223PostMapRequestHandler event, 93PostReleaseRequestState event, 93PostRequestHandlerExecute event, 93PostResolveRequestCache event, 92PostUpdateRequestCache event, 93Precompilation for deployment, 975,

976–979Prepare method, DbCommand classes, 516PreRequestHandlerExecute event, 93

Connolly_index.fm Page 1038 Sunday, January 28, 2007 10:21 AM

Index 1039

Presentation layer, 670–671using the architecture in, 702–703

PressReleaseRSS.cs, 886–888PreviousButtonClick event, Wizard

control, 219PrevMonthText property, Calendar

control, 163ProcessRequest method, 93Production server, 25Professional.skin, 337professionalStyles.css, 337Profile:

properties, 77, 737service, 783

ProfileBase, 88ProfileModule, 91ProfileParameter, 558Profiles, 834–854

anonymous access, 846–848anonymous profiles:

deleting, 848–850migrating, 850–851

custom types, 843CustomProfile.cs, 844–846defining, 834–836how they work, 840–842profile data:

saving/retrieving, 842–843using, 836–840

profile groups, 840profile save behavior, controlling, 843when to use, 852–854

PropertyGridEditorPart, 883–884, 886–889

Provider, defined, 780Provider factories, 551Provider model, 780–791

architecture, 781–784Factory Method design pattern, 781provider-based services, 782–783Strategy design pattern, 781

benefits of, 780–781custom providers, creating, 784–791proficer classes, 784

Provider Web part, 889ProviderName property, MembershipUser

class, 799

ProviderUserKey property, MembershipUser class, 799

Proxy, 909timeout, setting, 929–930

ProxyWebPartManager control, 901PublisherRSSControl Web part, 889

QQuery strings, 560, 723QueryString property, HttpRequest, 79QueryStringParameter, 558, 560Queue collection, 452

generics, 464Quote service:

creating, 938–945Quote.cs, 940–941QuoteService.asmx, 943QuoteService.cs, 941–943testing, 943–945WS-I, 939

RRadioButton control, 101

programming, 126–127RadioButtonList control, 101, 127,

135–138properties, 135

RangeValidator control, 273, 284ReadOnly property:

BoundField element, 620ImageField element, 621

ReadOnlyCollectionBase class, 452ReadXML.aspx, 492, 494ReadXML.aspx.cs, 492–494Redirect method:

HttpResponse, 80Response property, 78

RegisterClientScriptBlock method, Page class, 78

RegularExpressionValidator control, 273, 288–296

RegEx class, using, 293–295regular expressions:

common, 288–289, 291defined, 288and security, 295–296

Connolly_index.fm Page 1039 Sunday, January 28, 2007 10:21 AM

Index1040

RegularExpressionValidator control (continued):

ScrapeHeadings.aspx, 293ScrapeHeadings.aspx.cs, 293–294

ReleaseRequestState event, 94RememberMeSet property, Login control,

818RememberMeText property, Login

control, 818RepeatColumns property:

DataList control, 590RadioButtonList/CheckBoxList

controls, 135RepeatDirection property:

DataList control, 590RadioButtonList/CheckBoxList

controls, 135Repeater control, 578–579, 595–598

templates, 595RepeatLayout property:

DataList control, 589RadioButtonList/CheckBoxList

controls, 135Request property, Page class, 79RequiredFieldValidator control, 272,

280unique property of, 281

Reserved application folders, 22ResetPassword method,

MembershipUser class, 800ResolveRequestCache event, 92Resource editor, Visual Studio, 961Resource files, 952–954

generating, 954–959localizing, 959–964

Resource hierarchy, 960Resource key prefix value, 958Resources:

adding, 961–964defined, 952explicit resource expression, 962global, 964–966implicit resource expression, 958

Response property, Page class, 80Response.Redirect vs.

Server.Transfer, 81Restore (Web part verb), 866

Result set, 530.resx, 23ReviewService.cs, 789–790Role management, 803–813

defined, 803management technique, 803–806Role class, methods of, 807–808role management API, 806–814role provider, 803RoleManager.aspx, 809–810RoleManager.aspx.cs, 811–813service, 783

Role-based authorization, 754RoleManagerModule, 90Root node, 423RootNodeStyle, 423Round trip, defined, 56RowCommand event handler, adding,

636–637Rows property:

Table control, 150TextBox control, 112

RowSpan property, TableCell control, 152

RSS feed, processing, 248–253RssReader.aspx, 250–251RssReader.aspx.cs, 251–252RssTransform1.xsl, 249RssTransform2.xsl, 249–250, 502Ruby on Rails, 7

SSCOPE_IDENTITY() function, 524ScrapeHeadings.aspx, 293ScrapeHeadings.aspx.cs, 293–294ScrollBars property, Panel control, 183Secure Sockets Layer (SSL), 756Security, 754–765

ASP.NET authentication, 764–765authenticated identity, 754authorization, 754

role-based, 754credentials, 754IIS, 755–758provider model, 780–791

Security checks, ASP.NET, 759

Connolly_index.fm Page 1040 Sunday, January 28, 2007 10:21 AM

Index 1041

SelectCommand attribute, 555SelectCommand property,

DbDataAdapter classes, 544Selected property:

ListItem class, 129TreeNode control, 425

SelectedDataKey property, GridView control, 629

SelectedDate property, Calendar control, 163

SelectedDates property, Calendar control, 163

SelectedDayStyle element, 159SelectedIndex property:

GridView control, 629ListControl class, 128

SelectedIndexChanged event, 68ListControl class, 128

SelectedItem property, ListControl class, 128

SelectedItemTemplate, 583SelectedNode property, TreeView

control, 436–437SelectedNodeChanged event, 435SelectedPartChromeStyle element,

WebPartZone control, 863SelectedRow property, GridView

control, 629SelectedValue property:

DetailsView control, 617FormView control, 602GridView control, 629ListControl class, 128

SelectGridView.aspx, 642–644SelectGridView.aspx.cs, 644SelectImageUrl property, CommandField

element, 624SelectionChanged event, 164–165

Calendar control, 164SelectionMode property, Calendar

control, 163SelectMonthText property, Calendar

control, 163SelectorStyle element, 159SelectParameters element, 557SelectText property, CommandField

element, 624

SelectWeekText property, Calendar control, 163

SeparatorTemplate, 583Serialization, 719Server controls, 41Server property, Page class, 80–81Server-side comments, 40ServerValidate event,

CustomValidator control, 296

ServerVariables property, HttpRequest, 80

Service-oriented architecture (SOA), 907Services, defined, 906Session ID, 728Session state, 727–737

ASP.NET session process, 730how it works, 728–730optimizing, 735–737profile properties, 737service, 783state providers, 729–731

in-process session provider, 731SQL Server session provider, 734–736state server session provider, 732–733

SessionParameter, 558SessionStateModule, 90SetFocusOnError property, validation

controls, 279Setup Wizard Project, Visual Studio, 982Shared scope, 860SharePoint 2003, 55–56ShowCancelButton property,

CommandField element, 624ShowCheckBox property, TreeNode

control, 425ShowDayHeader property, Calendar

control, 163ShowDeleteButton property,

CommandField element, 624ShowEditButton property,

CommandField element, 624ShowFooter property:

DataList control, 589GridView control, 629

ShowGridLines property, Calendar control, 163

Connolly_index.fm Page 1041 Sunday, January 28, 2007 10:21 AM

Index1042

ShowHeader property:DataControlField, 619DataList control, 589GridView control, 629

ShowInsertButton property, CommandField element, 625

ShowMessageBox property, ValidationSummary control, 282

ShowNextPrevMonth property, Calendar control, 163

ShowSelectButton property, CommandField element, 625

ShowSummary property, ValidationSummary control, 282

ShowTitle property, Calendar control, 164

ShowTitleIcons property, WebPartZone control, 864

ShowWeatherControl.ascx.cs, 927–928SideBarButtonClick event, Wizard

control, 219Single book data, adding ability to view and

edit, 709–711Site culture, letting the user control, 969–971Site map service, 783.sitemap, 23SiteMapDataSource, 555Size property, DbParameter classes, 523.skin, 23SkinID property, Control class, 104Skins:

Cool.skin, 336coolstyles.css, 339–340creating, 323defining, 321–322named, 326–327Professional.skin, 337professionalStyles.css, 337–339

Sliding expiry time, 739SOAP (Simple Object Access Protocol),

906–907Software development, errors in, 43–46Software platform, .NET Framework as, 9Software projects, and shifting

requirements, 666

Solution definition file (.sln), 26Solution user options file (.suo), 26SortDirection property, GridView

control, 629SortedDictionary collection, generics,

464SortedList collection, 452

generics, 464SortExpression property:

DataControlField, 619GridView control, 629

SourceColumn property, DbParameter classes, 523

Spaghetti code, 7SQL commands:

DELETE, 518–519INSERT, 518, 520SELECT, 517–518, 533UPDATE, 518, 607

SQL injection attack, 521SQL Server Authentication, 510SQL Server session provider, 734–736SqlClient, 507SqlCommand, 505SqlConnection, 504–505SqlDataAdapter, 505SqlDataReader, 505SqlDataSource control, 554, 561

problems with, 561–562SqlDataSourceView class, 561SqlMembershipProvider:

configuring, 793–796defined, 793using in conjunction with WAT, 794

Stack collection, 452generics, 464

Staging server, 25Stanwick, Victor, 631State management, 717–750

application state, 725–727ASP.NET, 717client-stored state, 718–724session state, 727–730

State property, 509State providers, in-process session provider,

731State server session provider, 732–733

Connolly_index.fm Page 1042 Sunday, January 28, 2007 10:21 AM

Index 1043

StateBag, 718Statelessness, defined, 717Static connection, creating, 890–891Static vs. dynamic Web content, 4–5Stored procedures, 519–520Style elements, 159–164Submit buttons, 116Subproperties, 103Subscription-only content, 754Substitution control, 747SubTitle property, IWebPart, 867Synchronization, 975System.Collections namespace, 450System.Collections.Generics

namespace, 450System.Collections.Specialized

namespace, 450System.Transaction namespace, 529System.Transactions.dll, 529

TTabIndex property, WebControl class,

103Table control, 101

object model for, 150properties of, 150–151TableTest.aspx, 152–153TableTest.aspx.cs, 153–154

Table Module pattern, 567, 573TableCell control:

properties of, 151–152Wrap property, 152

TableRow control, properties of, 151TableSection property, TableRow

control, 151Target property:

AdRotator control, 237BulletedList control, 132HyperLink control, 145HyperLinkField, 631ImageMap control, 142

Template Method pattern, 693–694TemplateControl class, 78TemplateField field type, 618, 625–626Templates, 582–583

DataList control, 591–593

Repeater control, 595TerraService (Microsoft), 910–914Text property:

Button/ImageButton/LinkButton classes, 116

Checkbox control, 124HyperLink control, 145HyperLinkField, 631Label control, 108ListItem class, 129Literal control, 110TableCell control, 152TreeNode control, 426validation controls, 279Web part verbs, 867

TextAlign property:Checkbox control, 124RadioButtonList/CheckBoxList

controls, 135TextBox control, 101, 112–115

events, 114properties of, 112TextBoxEvent.aspx, 114TextBoxEvent.aspx.cs, 114–115TextBoxTest.aspx, 113Wrap property, 112

TextBoxStyle login template, 816TextChanged event, TextBox control, 114TextLayout property, Login control, 818TextMode property, TextBox control, 112thawte.com, 757Themes:

adding:applying, 324creating in Visual Studio, 322–323and CSS, 328–331dynamically setting, 331–333how they work, 324–325and images, 327–328overriding, 325–326ThemeTester.aspx, 333–334ThemeTester.aspx.cs, 335using, 320–322

ThemeTester.aspx, 333–334ThemeTester.aspx.cs, 335Third-party design resources, using, 714

Connolly_index.fm Page 1043 Sunday, January 28, 2007 10:21 AM

Index1044

Three-layer model, 673–689AbstractBO.cs, 678–679business layer, 673business objects:

defined, 674designing/implementing, 674–684samples of, 677using programmatically, 684–685using with ObjectDataSource,

685–689namespaces, using, 683–684PublisherBO.cs, 680–683

Tiers, compared to layers, 669Title property, IWebPart, 867TitleBarVerbButtonType property,

WebPartZone control, 864TitleBarVerbStyle element,

WebPartZone control, 863TitleFormat property, Calendar

control, 164TitleIconImageUrl property,

IWebPart, 867TitleStyle element, 160TitleText property, Login control,

818TitleTextStyle login template, 816TitleUrl property, IWebPart, 867TodayDayStyle element, 160TodaysDate property, Calendar control,

164ToolTip property:

TreeNode control, 426WebControl class, 103

Top-level compilation item order, 77Trace.axd, 91TraceContext, 88Transactions, 516, 525–529TransactionScope class, 528–529Transfer method, HttpServerUtility,

81Transform property, Xml control, 246TransformArgumentList property, Xml

control, 246TransformSource property, Xml control,

246, 247TreeEventHandling.aspx, 437–441

TreeEventHandling.aspx.cs, 438TreeNode control:

Checked property, 425ChildNodes property, 425DataItem property, 425DataPath property, 425Depth property, 425Expanded property, 425, 433ImageToolTip property, 425ImageUrl property, 425NavigateUrl property, 425Parent property, 425PopulateOnDemand property, 425, 434Selected property, 425ShowCheckBox property, 425Text property, 426ToolTip property, 426Value property, 426

TreeNodeCheckChanged event, 435TreeNodeCollapsed event, 435TreeNodeDataBound event, 435TreeNodeExpanded event, 435TreeNodePopulate event, 433, 435TreeNodePopulate handler, creating, 434TreeView control, 423–424

changing appearance properties/styles, 427–430

events, 433ExpandDepth property, 433ImageSet property, 428–430LineSets property, 430populate on demand, 433–435using, 426–427using database data, 431–433using XML data, 431

TreeView Line Image Generator, 430Trust exception, 763T-SQL stored procedure, 519Two-layer model, 670–672

data access layer, 671–672presentation layer, 670

Two-way data binding, 607–608Type parameter, 468–469Type property:

BaseCompareValidator control, 285Parameter class, 558

Connolly_index.fm Page 1044 Sunday, January 28, 2007 10:21 AM

Index 1045

Typed DataSet, 483–485TypeName property, 563

UUICulture property, Page class, 966Unit-based measurement properties, 105UnLockUser method, MembershipUser

class, 800Update method, DbDataAdapter, 544,

547–550UpdateCommand property, DbDataAdapter

classes, 544UpdatedRowSource, 516UpdateImageUrl property, CommandField

element, 625UpdateMethod property,

ObjectDataSource control, 563

UpdateProgress control, using, 1008–1009

UpdateRequestCache event, 93UpdateText property, CommandField

element, 625UpdateUser method, Membership class,

797URL-encoded querystring, 723UrlAuthorizationModule, 90UrlDecode method,

HttpServerUtility, 81UrlEncode method,

HttpServerUtility, 81Use cases, 666, 689, 699UseAccessibleHeader property,

Calendar control, 164User controls, 99User credentials, storing in Web.config

file, 773–775User scope, 860UserName property:

Login control, 818MembershipUser class, 799

UserNameLabelText property, Login control, 818

UserNameRequiredErrorMessage property, Login control, 818

UseSubmitBehavior property, Button/ImageButton/LinkButton classes, 116

UsingCSS.aspx, 315, 316–318UsingCSS.aspx.cs, 318–319

VValidate method, Page class, 78ValidateEmptyText property,

CustomValidator control, 296

ValidateUser method, Membership class, 797

Validation:controls, 99, 272groups, 302–308

GroupingValidators.aspx, 305–307

GroupingValidators.aspx.cs, 308

server controls, 271–308ASP.NET form validation process,

273–308client-side validation process,

274–276common validation properties,

278–279defined, 272server-side validation process,

276–278static vs. dynamic display of, 279–280types of, 272–273

ValidationExpression property, RangeValidator control, 288

ValidationGroup property:Checkbox control, 124CommandField element, 625validation controls, 279ValidationSummary control, 282

ValidationSummary control, 273, 282–284

DisplayMode property, 282EnableClientScript property, 282ForeColor property, 282HeaderText property, 282

Connolly_index.fm Page 1045 Sunday, January 28, 2007 10:21 AM

Index1046

ValidationSummary control (continued):properties of, 282ShowMessageBox property, 282ShowSummary property, 282ValidationGroup property, 282

ValidatorTextStyle login template, 816

Value property:DbParameter classes, 523ListItem class, 129TreeNode control, 426

ValueToCompare property, CompareValidator control, 285

VaryByParam attribute, 746VBScript, 7, 17VerbButtonType property, WebPartZone

control, 864Verbs, 857VerbStyle element, WebPartZone

control, 863VeriSign.com, 757VerticalAlign property:

TableCell control, 152TableRow control, 151

VerticalPadding property, 424View control, 101, 180, 191–200

events of, 193View state, 57–58, 718–722

ASP.NET, 57–58uses/misuses of, 721–722using, 720

Views property, MultiView control, 193Virtual directory, Microsoft’s Internet

Information Services (IIS), 29Visible property:

Control class, 104DataControlField, 619Web part verbs, 867

VisibleDate property, Calendar control, 164

VisibleMonthChanged event, Calendar control, 164

VisibleWhenLoggedIn property, Login control, 818

Visual Basic.NET (VB.NET), 10

Visual Studio:Add Reference option, 529creating a stored procedure in, 519–520creating a Web site in, 30–31debugger, using, 46–50encountering errors, 43–46formatting Calendar control, 161–162Intellisense feature, 70specifying a code separation file in, 21using the Configure Data Source Wizard

in, 556Web Deployment Project add-in, 972Web projects, 25–26Web Setup Project/Setup Wizard

Project, 972Visual Studio 2005, 24–29

file system Web sites, 26–27local IIS Web sites, 27–28opening a Web project in, 26–27

Visual Studio Designer, 555, 666Visual Studio projects, 26Visual Web Developer 2005 Express

Edition, 24

WWeb application projects, 26Web applications:

anonymous access to, 756design and ASP.NET, 666–670design, layers, 667–670internationalizing, 952–971roles in, 754

Web Deployment Project add-in, Visual Studio, 972

Web events service, 783Web farm, 732Web Forms, 15–23

adding, 31–32adding event handlers to, 707–708adding GridView controls to, 705–707adding HTML content to, 33–36adding markup content to, 535–536,

634–635code render blocks, 40creating, 29–50HTML server controls, 41–42

Connolly_index.fm Page 1046 Sunday, January 28, 2007 10:21 AM

Index 1047

processing cycle for, 55–56programming logic, adding, 39–43server controls, 41viewing, 36–39Web server controls, 42–43

Web garden, 732Web parts, 783, 854–902

chrome, 857class hierarchy, 859components, 856connections:

data flow with, 891defined, 889dynamic connections, 901–902static connection, creating, 890–891

creating/using, 860–864defined, 856display mode, 876–878framework, 854–902making from user controls, 867–872personalization, 859–860portal, defined, 854shared scope, 860simple example, 862user scope, 860verbs, 857, 865–866

Checked property, 866Description property, 866Enabled property, 867ImageUrl property, 867properties, 866–867Text property, 867Visible property, 867

Web part manager, 858Web part zones, 857WebPartZone control, style elements,

862–863Web reference, adding in Visual Studio, 909,

911Web server controls, 42–43

ASP.NET, 17client-side events, 121–123collection properties, 106color-based properties, 105–106command event, 119–121common members, 101–104defined, 98

essential standard, 107–176event properties, 105HTML attributes, 106–107manipulating properties

programmatically, 104–107overview of, 99–107standard:

additional, 180–181working with, 97–178

unit-based measurement properties, 105

Web service data, preserving, 927–929Web Service Enhancements (WSE), 948Web services, 905–950

asynchronous, 930–936benefits of, 907–909consuming, 909–936

Amazon Web Services (AWS), 918–926

and performance, 927–930in a user control, 914–917using Visual Studio, 909–914

creating, 936–948guidelines for, 947–948on a local machine (walkthrough),

937–938creating a front-end, 945–947defined, 906as interface, 946platform independence of, 907simple quote service, creating, 938–945

Web services-enabled integration, 908Web Setup Project:

creating an installation program using, 981–987

creating in Visual Studio, 982Web site projects, 26Web.config file, 92WebConfigurationManager class, 514WebControl class, 101

inheritance from Control class, 104properties of, 103

WebDescription attribute, 886WebDisplayName attribute, 886WebPartManager control, 901WebPartVerbRenderMode property,

WebPartZone control, 864

Connolly_index.fm Page 1047 Sunday, January 28, 2007 10:21 AM

Index1048

WebPartZone control:AllowLayoutChange property, 863BackImageUrl property, 863DragHighlightColor property, 863EmptyZoneText property, 864EmptyZoneTextStyle element, 862ErrorStyle element, 862FooterStyle element, 862HeaderStyle element, 863HeaderText property, 864LayoutOrientation property, 864MenuCheckImageStyle element, 863MenuCheckImageUrl property, 864MenuLabelHoverStyle element, 863MenuLabelStyle element, 863MenuLabelText property, 864MenuPopupImageUrl property, 864MenuPopupStyle element, 863MenuVerbHoverStyle element, 863MenuVerbStyle element, 863Padding property, 864PartChromeStyle element, 863PartStyle element, 863PartTitleStyle element, 863SelectedPartChromeStyle element,

863ShowTitleIcons property, 864TitleBarVerbButtonType property,

864TitleBarVerbStyle element, 863VerbButtonType property, 864VerbStyle element, 863Web parts, style elements, 862–863WebPartVerbRenderMode property,

864Web.sitemap, 377WeekendDayStyle element, 160Width property, WebControl class, 103Windows Authentication, 510Windows authentication mode, ASP.NET,

764Windows NT Challenge/Response, 757WindowsAuthenticationModule, 90Wizard control, 101, 180, 200–221

ActiveStepChanged event, 219CancelButtonClick event, 219

customizing, 210–218events of, 219FinishButtonClick event, 219layout of, 208–209multipage Web wizard, maintaining state

information in, 201NextButtonClick event, 219object model, 205PreviousButtonClick event, 219properties of, 203–205SideBarButtonClick event, 219using, 205–207Web wizard processing, 202wizard event handling, 219–221

ActiveStepChanged event handler, 220–221

FinishedButtonClick event handler, 221

NextButtonClick event handler, 219–220

WizardStep control, properties of, 207Worker process, 84–85Wrap property:

Panel control, 183TableCell control, 152TextBox control, 112

Write method, HttpResponse, 80WS-Attachments, 948WSDL (Web Services Description

Language), defined, 906–907WS-I (Web Services Interoperability

Organization), 939WS-Security, 948

XXbox Live subscription-based online gaming

Web service, 909Xml control, 101, 180, 241–253

Menu.xml, 242Menu.xslt, 244–245programming, 247–253properties of, 246RSS feed, processing, 248–253RssReader.aspx, 250–251RssReader.aspx.cs, 251–252RssTransform1.xsl, 249

Connolly_index.fm Page 1048 Sunday, January 28, 2007 10:21 AM

Index 1049

Xml control (continued):RssTransform2.xsl, 249–250, 502XmlProgramming.aspx.cs, 247XSLT file, creating, 243–246

XML documentation comments, 70XmlDataSource, 555XPathNavigator property, Xml control,

246, 247XSLT file, creating, 243–246

Connolly_index.fm Page 1049 Sunday, January 28, 2007 10:21 AM