Connolly index.fm Page 1017 Sunday, January 28, 2007...
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