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

IndexIndex

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

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

1018 Index

AllowPaging property: using, 320–322 DetailsView control, 616 themes: FormView control, 601 adding, 322–324 GridView control, 627 applying, 324 AllowSorting property, GridView creating in Visual Studio, 322–323 control, 627 and CSS, 328–331 ALTER keyword, 519 dynamically setting, 331–333 AlternateText property: how they work, 324–325 Image control, 139 and images, 327–328 ImageField element, 621 overriding, 325–326 AlternateTextField property, ThemeTester.aspx, 333–334 AdRotator control, 237 ThemeTester.aspx.cs, 335 AlternatingItemTemplate, 582 using, 320–322 Amazon Web Services (AWS), 908–909 AppearanceEditorPart control, 883 AmazonBookControl.ascx, 919–920 AppendDataBoundItems property, AmazonBookControl.ascx.cs, ListControl class, 128 920–923 Application data caching, 738–740 consuming, 918–926 Application domain, 87–88 Anonymous access, 756, 846–848 Application lifecycle: Anonymous profiles: ASP.NET, 81–94 deleting, 848–850 ASP.NET core objects created for the migrating, 850–851 request, 88–89 AnonymousID property, HttpRequest, 79 assigning HttpApplication object AnonymousIdentificationModule, 91 to request, 89–91 App_Browsers folder, 22 key steps in, 82 App_Code folder, 22, 77 user request for ASP.NET resource App_Data folder, 22 from server, 82–88 App_GlobalResources folder, 22, 77 user request processed using App_LocalResources folder, 22, 77 HttpApplication pipeline, App_Themes folder, 22 92–94 App_WebReferences folder, 22 Application logic, 671 App_WebResources folder, 77 Application logic layer, 689 AppDomain, 89–90 creating, 699–702 Appearance: Application pools, 85–86 Cascading Style Sheets (CSS), using with Application state, 725–727 controls, 314–319 Global.asax file, 726 common properties, 312–314 storage of, 725 server controls, changing, 311–319 ApplicationManager class, 87 skins: ApplicationPath property, Cool.skin, 336 HttpRequest, 79 coolstyles.css, 339–340 ApplyFormatInEditMode property, creating, 323 BoundField element, 620 defining, 321–322 Architecture: named, 326–327 provider model, 781–784 Professional.skin, 337 Factory Method design pattern, 781 professionalStyles.css, provider-based services, 782–783 337–339 Strategy design pattern, 781 Connolly_index.fm Page 1019 Sunday, January 28, 2007 10:21 AM

Index 1019

Array class, 451 runtime, 88 ArrayList collection, 451, 456–461 security, 754–765, See also Security. .asax, 22 authentication, 754 .ascx, 22, 91 process, 758–760 .ashx, 23 security checks, 759 .asmx, 23, 91 state management, 717–750 ASP (Active Server Pages), 4 trust levels, 760–761 ASP.NET: validation controls, 272 advantages of, 8 view state, 57–58 application class/file, 89 Web application structure, 21–23 application design, 666–670 Web Forms, 15–23 application lifecycle, 81–94 creating, 29–50 ASP.NET core objects created for the processing cycle for, 55–56 request, 88–89 Web server control, 17 assigning HttpApplication object Windows authentication mode, 764 to request, 89–91 worker process, 84–85 key steps in, 82 ASP.NET 2.0: user request for ASP.NET resource code-behind page inheritance with, 74 from server, 82–88 compilation process with, 76 user request processed using embedded code page inheritance with, HttpApplication pipeline, 75 92–94 release of, 3 built-in tags, 7 ASP.NET AJAX, See Atlas. button controls, 115–123 ASP.NET cache, 738–748 cache, See ASP.NET cache. application data caching, 738–740 code compilation, 72–78 cache: code-behind file, 20 defined, 738 compilation order, 76–78 integrating with a layered design, consuming Web services in, 910–914 740–743 control state, 58 cache dependencies, 743–745 core objects, creation of, 88–89 DataCache.cs, 741 defined, 3–4 page output caching, 745–748 encountering errors, 43–46 full page caching, 745–746 event model, 53–71 partial page caching, 746–747 event types, 57 ASP.NET SQL Server Registration Tool, expressions, 556–557 793 file types, 22–23 ASP.NET Website Administration Tool how it works, 53–95 (WAT), 793 HttpHandlers, 91 .aspx, 23, 91 HttpModules, 90–91 Assemblies, MSIL, 11 impersonation, 758 AssociatedControlId property, Label NONE authentication mode, 764 control, 108 parser, 45 AssociatedHeaderCellID property, Passport authentication mode, 764 TableCell control, 151, postback, 55–57 156 profiles, 834–854 Asynchronous Web services, 930–936 reserved application folders, 22 Asynchronously, use of term, 930 Connolly_index.fm Page 1020 Sunday, January 28, 2007 10:21 AM

1020 Index

Atlas, 991–1015 AutoGenerateRows property, architecture, 996–1000 DetailsView control, 616, client features, 996–1000 618 control extenders, 1009 AutoGenerateSelectButton property, Atlas Control Toolkit extenders, GridView control, 628 1012–1015 AutoPostBack property, TextBox AutoCompleteExtender, control, 112 1010–1012 .axd, 23 defined, 991, 992 installing, 994–996 B partial page updates, enabling, BackColor property, WebControl class, 1006–1008 103 server features, 1000–1001 BackImageUrl property: site template files, 995 DetailsView control, 617 UpdateProgress control, using, FormView control, 601 1008–1009 GridView control, 628 using, 1001–1006 Panel control, 183 Atlas Control Toolkit extenders, 1012–1015 Table control, 150 Attributes, 719 WebPartZone control, 863 Attributes property: Base Class Library (BCL), .NET ListItem class, 129 Framework, 13 WebControl class, 103 BaseCompareValidator control, Authenticate event, 820 284–285 Authenticated identity, 754 properties of, 285 AuthenticateRequest event, 92 BaseWizardStep, 205–206 Authentication, 754, See also Forms Basic authentication, 756 authentication. BeginRequest event, 92 basic, 756 BeginTransaction method, certificate-based, 757 DbConnection class, 525 digest, 756–757 BehaviorEditorPart control, 883–885 Secure Sockets Layer (SSL), 756 Bin folder, 22 Authorization, 754 BitArray collection, 451 role-based, 754 BookCatalogLogic.cs, 701–702 AuthorizeRequest event, 92 ObjectDataSource, setting up, AutoCompleteExtender, 1010–1012 704–705 AutoCompleteType property, TextBox BookDA.cs, 572–573 control, 112 BookPortal.aspx, 703 AutoGenerateColumns property, BookWithThemes.master, 361–362 GridView control, 627 BookWithThemes.master.cs, 362–364 AutoGenerateDeleteButton property: BorderColor property, WebControl DetailsView control, 616 class, 103 GridView control, 627, 651 BorderStyle property, WebControl AutoGenerateEditButton property: class, 103 DetailsView control, 616 BorderWidth property, WebControl GridView control, 627, 651 class, 103 AutoGenerateInsertButton property, Bottom-level compilation item order, 77 DetailsView control, 616 Connolly_index.fm Page 1021 Sunday, January 28, 2007 10:21 AM

Index 1021

BoundField element, 618 C ApplyFormatInEditMode property, C#, 10, 21 620 C++, 10 ConvertEmptyStringToNull Cache, 88 property, 620 defined, 738 DataField property, 620 dependencies, 743–745 DataFormatString property, 620 integrating with a layered design, HtmlEncode property, 620 740–743 NullDisplayText property, 621 Cache property, HttpResponse, 80 properties of, 620–621 CacheDuration property, 565 ReadOnly property, 620 CacheExpirationPolicy property, 565 Break points, 46 Calendar control, 100, 158–176 Browse mode, 876 CalendarTest.aspx, 160–161 BufferOutput property, HttpResponse, Caption property, 162 80 CaptionAlign property, 162 BulletedList control, 100, 127, 131–138 DayNameFormat property, 163 BulletedListTest.aspx, 132–134 DayRender event, 164 BulletedListTest.aspx.cs, 133 custom, 166–172 CheckBoxList control, 135–138 responding to, 165 properties of, 131–132 events, 164 RadioButtonList control, 135–138 FirstDayOfWeek property, 163 BulletedListConsumer.aspx, 381–383 NextMonthText property, 163 BulletImageUrl property, BulletedList NextPrevFormat property, 163 control, 131 pop-up calendar, creating, 173–176 BulletStyle property, BulletedList Popup.aspx, 174–175 control, 131 Popup.aspx.cs, 175–176 Business objects: PopupCalendarTest.aspx, 173–174 defined, 674 PrevMonthText property, 163 designing/implementing, 674–684 properties of, 162–163 samples of, 677 SelectedDate property, 163 using programmatically, 684–685 SelectedDates property, 163 using with ObjectDataSource, SelectionChanged event, 164 685–689 SelectionMode property, 163 Business rules, 672 SelectMonthText property, 163 invalid, handling, 711–713 SelectWeekText property, 163 Button class, 115 ShowDayHeader property, 163 events, 117 ShowGridLines property, 163 properties, 116 ShowNextPrevMonth property, 163 Button control, 100 ShowTitle property, 164 ButtonTest.aspx.cs, 117–118 style elements, 159–164 properties and events of, 116–117 TitleFormat property, 164 Button controls, ASP.NET, 115–123 TodaysDate property, 164 ButtonField field type, 618 UseAccessibleHeader property, 164 ButtonType property, CommandField VisibleDate property, 164 element, 624 VisibleMonthChanged event, 164 Connolly_index.fm Page 1022 Sunday, January 28, 2007 10:21 AM

1022 Index

Calendar style templates, 160 ChangePasswordQuestionAndAnswer Cancel method, DbCommand classes, 516 method, MembershipUser CancelButtonClick event, Wizard class, 800 control, 219 CheckAndRadioLists.aspx, 135–136, 138 CancelImageUrl property, CommandField CheckAndRadioLists.aspx.cs, 137 element, 624 CheckBox control, 100, 123–126 CancelText property, CommandField CheckBoxTest.aspx, 124–126 element, 624 CheckBoxTest.aspx.cs, 125 Caption property: events, 125 Calendar control, 162 properties, 124 FormView control, 601 CheckBoxField element, 618 Table control, 150 CheckBoxList control, 100, 127, 135–138 CaptionAlign property: properties of, 135 Calendar control, 162 CheckBoxStyle login template, 816 FormView control, 601 Checked property: Table control, 150 Checkbox control, 124 CartItem class, adding, 638–639 TreeNode control, 425 Catalog, defined, 880 Web part verbs, 866 Catalog mode, 876, 880–882 CheckedChanged event, Checkbox class, Catalog Zone, 878 124 CatalogIconImageUrl property, ChildNodes property, TreeNode control, IWebPart, 867 425 CatalogPart controls, 880–881 ChildNodesPadding property, 424 CatalogZone control, 880 Chrome, 857 CausesValidation property: Class hierarchy, 859 Button/ImageButton/LinkButton Class library hierarchy, .NET Framework, classes, 116 13 Checkbox control, 124 Click event, Button/ImageButton/ CommandField element, 624 LinkButton classes, 116 CellPadding property: Clicked event, ImageMap control, 142 FormView control, 601 Client-based event system vs. ASP.NET RadioButtonList/CheckBoxList event system, 54 controls, 135 Client-side events, 121–123 Table control, 150 ClientEvents.aspx, 122–123 Cells property, TableRow control, 151 Client-stored state, 718–724 CellSpacing property: control state, 722 FormView control, 601 cookies, 723–724 RadioButtonList/CheckBoxList hidden fields, 722 controls, 135 querystrings, 723 Table control, 150 view state, 718–722 Certificate-based authentication, 757 ClientValidationFunction property, Certificates, defined, 757 CustomValidator control, Change events, 68 296 ChangePassword control, 814, 824–826 Close (Web part verb), 866 ChangePassword method, Code access security, 760 MembershipUser class, 800 .NET Framework, 760 Connolly_index.fm Page 1023 Sunday, January 28, 2007 10:21 AM

Index 1023

Code compilation, ASP.NET, 72–78 EditText property, 624 Code declaration block, 15 InsertImageUrl property, 624 Code render blocks, 40 InsertText property, 624 Code-behind file, 15 NewImageUrl property, 624 Code-behind page inheritance, with NewText property, 624 ASP.NET 2.0, 74 properties of, 624 CodeFile attribute, 19 SelectImageUrl property, 624 Cohesive, use of term, 667 SelectText property, 624 ColdFusion (Adobe), 7 ShowCancelButton property, 624 CollapsiblePanelExtender, ShowDeleteButton property, 624 1013–1014 ShowEditButton property, 624 CollapsiblePanelProperties ShowInsertButton property, 625 elements, 1013 ShowSelectButton property, 625 Collection classes, 450–451 UpdateImageUrl property, 625 Collection interfaces, 451–453 UpdateText property, 625 Collection properties, 106 ValidationGroup property, 625 CollectionBase class, 451 CommandName property, 606 Collections, 450–461 Button/ImageButton/LinkButton common, using, 453–461 classes, 116 dictionary, 465–467 Commands, 508 generic: CommandText property, DbConnection, constraining, 469–472 516, 519 making your own, 468–472 CommandTimeout, 516 iterating through, 455–456 CommandType, 516 Color-based properties, 105–106 Comment property, MembershipUser Columns property, TextBox control, 112 class, 799 ColumnSpan property, TableCell Common Intermediate Language (CIL/IL), control, 152 11 Command buttons, 116 (CLR), 11–13 Command event, 119–121 Common Language Specification (CLS), Button/ImageButton/LinkButton 10–11 classes, 116 CompareValidator control, 272, 284–287 CommandTest.aspx, 119 properties of, 285 CommandTest.aspx.cs, 120 Compilation order, ASP.NET, 76–78 CommandArgument property, Button/ Compilation process, with ASP.NET 2.0, 76 ImageButton/LinkButton Complex domain entity, creating, 696–699 classes, 116 .config, 23 CommandEventArgs parameter, 54 Configuration files, 754 CommandField element, 618 ConfigurationManager.AppSettings ButtonType property, 624 method, 267 CancelImageUrl property, 624 Connect mode, 876 CancelText property, 624 Connect (Web part verb), 866 CausesValidation property, 624 Connection, 516 DeleteImageUrl property, 624 Connection point, 890 DeleteText property, 624 Connection pooling, 509, 515, 532 DetailsView control, 623–624 Connection strings, 509–510 EditImageUrl property, 624 storing, 513–514 Connolly_index.fm Page 1024 Sunday, January 28, 2007 10:21 AM

1024 Index

Connection to a data source, 508 Copy Web Site command, 973 ConnectionString property, 509 Copy Web Site interface, 973–974 connectionString, Web.config file, Coupling, classes, 667 513 CREATE PROCEDURE command, 519 ConnectionStringBuilder, using, CreateChildControls method, 886 514–515 CreateObject method, ConnectionStringSettings, 514 HttpServerUtility, 81 ConnectionTimeout property, 509 CreateParameter method, DbCommand Constraints, of a generic collection, 469–472 classes, 516 Consumer Web part, 889, 894–896 CreateUser method, Membership class, creating the Web part page with, 899 797 defining, 897–898 CreateUserIconUrl property, Login Container controls, 200 control, 817 Control caching, 746 CreateUserText property, Login Control class, properties of, 104 control, 817 Control events, 57 CreateUserUrl property, Login control, Control extenders, 1009 817 Atlas Control Toolkit extenders, CreateUserWizard control, 814, 828–829 1012–1015 CreationDate property, MembershipUser AutoCompleteExtender, 1010–1012 class, 799 Control state, 58, 722 Credentials, 754 ASP.NET, 58 Cross-page posting, 71 ControlParameter, 558 CRUD (Create, Retrieve, Update, and Controls property, Control class, 104 Delete), 671 ControlStyle property, CSS control adapters, 662 DataControlField, 619 .css files, 21 ControlTester.aspx, 924–926 CssClass property, WebControl class, ControlTester.aspx.cs, 926 103 ControlToCompare property, CTS (Common Type System), 9 CompareValidator Culture, 952 control, 285 Culture ID, 959 ControlToValidate property, validation Culture property, Page class, 966 controls, 279 CultureInvariantValues property, ConvertEmptyStringToNull property: BaseCompareValidator BoundField element, 620 control, 285 ImageField element, 621 Current Weather user control, 915–917 Parameter class, 558 Custom controls: Cookieless authentication tickets, 779–780 BookListViewer.cs, 872–873 CookieParameter, 558 custom verb, adding, 874–876 Cookies, 723–724 making Web parts from, 872–876 expiration of, 724 Custom providers: reading/writing, 724 creating, 784–791 Cookies property: defining for existing provider service, HttpRequest class, 79 784–786 HttpResponse class, 80 new service, defining, 786–791 Cool.skin, 336 ReviewService.cs, 789–790 coolStyles.css, 339–341 Custom server controls, 99 Connolly_index.fm Page 1025 Sunday, January 28, 2007 10:21 AM

Index 1025

Customer.cs, 453–454 Data transfer object, 691 Customize Line Images option, TreeView DataAlternateTextField property, task panel, 430 ImageField element, 621 CustomProfile.cs, 844–846 DataAlternateTextFormatString CustomValidator control, 273, 296–302 property, ImageField automatic client-side updating, 299–302 element, 621 ClientValidationFunction Database commands, 508 property, 296 Database null, 531–532 custom client-side validation, 298–299 Database property, 509 events of, 296 Database schema, 535 properties of, 296 Data-binding expressions, 392, 584–587 ServerValidate event, 296 DataBoundControl class, 127–128 UsingCustomValidators.aspx, DataCache.cs, 741 300–301 DataColumn class, 473 UsingCustomValidators.aspx.cs, DataColumnCollection class, 473 302 DataControlField: ValidateEmptyText property, 296 AccessibleHeaderText property, 619 validation groups, 302–308 base class, 618 ControlStyle property, 619 D FooterStyle property, 619 FooterText Data access classes, 568 property, 619 HeaderImageUrl Data access layer, 671–672 property, 619 HeaderStyle modifying, 692–696 property, 619 HeaderText Data access objects, 554, 562, 567, 573 property, 619 InsertVisible Data adapters, 508, 553 property, 619 ItemStyle Data binding, 447–501, 530, 554, 562, 574, property, 619 577–578 properties of, 619 ShowHeader defined, 392, 447 property, 619 SortExpression Data containers, 503–504 property, 619 Visible Data controls, 577–664 property, 619 DataEditor.aspx.cs data-binding expressions, 584–587 , 536 DataField BoundField DetailsView control, 614–626 property, GridView control, 626–644 element, 620 DataFile multivalue, 577–587 attribute, 555 DataFormatString object model, 582 property, BoundField templates, 582–583 element, 620 DataImageUrlField Data providers, 503–504 property, ImageField ADO.NET, 505 element, 621 DataImageUrlFormatString choosing, 506–508 property, ImageField classes, 508 element, 621 DataItem Data readers, 508 property: DetailsView Data source controls, 554–573 control, 617 FormView how they work, 561–562 control, 601 TreeNode modifying data, 560–561 control, 425 DataItemCount parameters, using, 557 property: DetailsView query string parameters, 560 control, 617 FormView control, 601 Connolly_index.fm Page 1026 Sunday, January 28, 2007 10:21 AM

1026 Index

DataItemIndex property: ListControl class, 128 DetailsView control, 617 DataTextFormatString property: FormView control, 601 HyperLinkField, 631 DataKey property: ListControl class, 128 DetailsView control, 617 DataValueField property, ListControl FormView control, 602 class, 128 GridView control, 628 DataView, 478–481 DataKeyNames property: DataViewTester.aspx, 479 DetailsView control, 617 DataViewTester.aspx.cs, 479–481 FormView control, 602 Date and time format strings, 586 GridView control, 628 custom, 588 DataList control, 578, 587–595 DayHeaderStyle element, 159 linking pages with, 593–595 DayNameFormat property, Calendar properties of, 589–590 control, 163 templates, 591–593 DayRender event: DataNavigateUrlField property, Calendar control, 164 HyperLinkField, 631 custom, 166–172 DataNavigateUrlFormatString responding to, 165 property, HyperLinkField, DayStyle element, 159 631 DbCommand, 503, 504, 505, 508, 574 DataPath property, TreeNode control, 425 Cancel method, 516 DataRelation class, 473 classes, 515–529 DataRelationCollection class, 473 transactions, 525–529 DataRow class, 473 CreateParameter method, 516 DataRowCollection class, 473 creating, 517 DataSet, 472–499, 503 DbParameter, using, 522–525 calculated columns, creating, 477 ExecuteNonQuery method, 516, 520 classes, 473–474 ExecuteReader method, 516 data containers: ExecuteScalar method, 516, 520 choosing, 495 Prepare method, 516 custom collections as, 496–497 DbCommandBuilder, 506, 549–550 .NET collections as, 496 DbConnection, 503, 504, 505, 508, 574 typed DataSets as, 498–499 classes, 508–515 using a DataSet as, 497–498 properties of, 509 DataTable class, using, 475 connecting pooling, 515 DataView, 478–481 connection strings, 509–510 defined, 473 storing, 513–514 relating DataTables, 486–487 programming, 511–512 typed DataSets, 483–485 SQL commands for retrieving, adding, using, 481–485 updating, or deleting data, XML integration with, 488–495 517–518 DataSet classes, 473–474 stored procedures, 519–520 DataSource property, 449 DbConnectionStringBuilder, 506, 515 DataTable class, 473, 503 DbDataAdapter, 503, 504, 505, 508, 574 DataTableCollection class, 474 classes, 544–550 DataTextField property: methods, 544 HyperLinkField, 631 properties of, 544 Connolly_index.fm Page 1027 Sunday, January 28, 2007 10:21 AM

Index 1027

DeleteCommand property, 547–548 DeleteText property, CommandField Fill method, 545–547 element, 624 InsertCommand property, 547–548 DeleteUser method, Membership class, Update method, 547–550 797 DbDataPermission, 506 Deployment, 972–987 DbDataReader, 503–504, 505, 508, 574 controlling with the Web Deployment classes, 529–543 Project add-in, 980–981 data binding of, 530 manually copying files from development defined, 529–530 to deployment machine, IsDBNull method, 532 972–981 multiple result sets, 533 .NET Framework, 9 NextResult method, 533 precompiling a Web site, 975–979 programming, 530–532 Depth property, TreeNode control, 425 handling nulls, 531–532 Description property: implicit connection closing, 532–533 IWebPart, 867 DbException, 506 Web part verbs, 866 DbParameter, 506, 522 DescriptionUrl property, Image classes, properties of, 523 control, 139 DbProviderFactories class, 551–552 Deserialization, 719 DbProviderFactory class, 553, 561 Design mode, 877, 878–880 DbTransaction, 506, 525 DestinationPageUrl property, Login DbType property, DbParameter classes, 523 control, 817 Debugger: DetailsView control, 560–561, 565, Visual Studio, 46–50 579–580, 614–626 using, 46–50 AllowPaging property, 616 DeclarativeCatalogPart, 881–882 AutoGenerateDeleteButton Default resource values, 956 property, 616 Default.aspx, 359–360 AutoGenerateEditButton property, Default.aspx.cs, 360 616 DefaultAuthenticationModule, 91 AutoGenerateInsertButton DefaultButton property, Panel control, property, 616 183 AutoGenerateRows property, 616, 618 DefaultMode property: BackImageUrl property, 617 DetailsView control, 617 CommandField in, 623 FormView control, 602 data, modifying, 622–626 GridView control, 628 DataItem property, 617 DefaultValue property, Parameter DataItemCount property, 617 class, 558 DataItemIndex property, 617 Delegate, 64 DataKey property, 617 Delete (Web part verb), 866 DataKeyNames property, 617 DeleteCommand property, DbDataAdapter DefaultMode property, 617 classes, 544 defined, 614 DeleteImageUrl property, CommandField edit and insert interface, customizing, element, 624 625–626 DeleteMethod property, EmptyDataText property, 617 ObjectDataSource EnablePagingCallbacks property, control, 563 617 Connolly_index.fm Page 1028 Sunday, January 28, 2007 10:21 AM

1028 Index

DetailsView control (continued): DragHighlightColor property, Fields element, 618–621 WebPartZone control, 863 FooterText property, 617 DragOverlayExtender, 1010 GridLines property, 617 DropDownList control, 100, 127, 558–560, HeaderText property, 617 608–610 PageIndex property, 617 Dynamic connections, 901–902 properties of, 616–617 Dynamic technology, types of, 5 SelectedValue property, 617 Dynamic Web content, 4–5 simple, example of, 615 styled, 616 E DetailsView fields, customizing, 618–622 eBay, 908 Development framework, .NET Framework Edit mode, 877, 883–889 as, 9 Edit (Web part verb), 866 Development server, 25 EditFormView.aspx, 610–612 Dictionary, 465–467 EditImageUrl property, CommandField Dictionary collections, 465–467 element, 624 generics, 464 EditItemTemplate, 583, 606–607 DictionaryBase class, 451 EditorPart controls, 883 Digest, 756–757 EditText property, CommandField Digest authentication, 756–757 element, 624 Direct output, dynamic technology, 5 Ellipses (…), 78 Direction property: Email property, MembershipUser class, DbParameter classes, 523 799 Panel control, 183 Embedded code page inheritance, with Directionality, 965 ASP.NET 2.0, 75 Directives, 17 EmptyDataText property: Display modes, changing, 876–878 DetailsView control, 617 Display property: FormView control, 602 validation controls, 279 GridView control, 628 values, 280 EmptyZoneText property, WebPartZone DisplayMode property: control, 864 BulletedList control, 131 EmptyZoneTextStyle element, ValidationSummary control, 282 WebPartZone control, 862 DisplayRememberMe property, Login EnableClientScript property: control, 817 validation controls, 279 Distributed transaction, 527–528 ValidationSummary control, 282 Document property, Xml control, 246 Enabled property: DocumentContent property, Xml control, ListItem class, 129 246 validation controls, 279 DocumentSource property, Xml control, Web part verbs, 867 246, 247 WebControl class, 103 Domain classes, 472 EnablePagingCallbacks property, Domain layer, 689 DetailsView control, 617 Domain layer classes, 691–692 EnableSortingAndPagingCallbacks Domain Model pattern, 573 property, GridView control, Domain-Driven Design (Evans), 670 628 DotGNU Portable .NET, 12 Connolly_index.fm Page 1029 Sunday, January 28, 2007 10:21 AM

Index 1029

EnableViewState property, Control F class, 104 Factory class, 550–551 Encryption service, 783 FailureAction property, Login control, EndRequest event, 93 817 EntityCollection classes, 573 FailureText property, Login control, EntityCollection.cs, 471–472 817 Enumerator, defined, 452 FailureTextStyle login template, 816 ErrorHandlerModule, 91 FeatureBookControl.ascx, 369 ErrorMessage property, validation FeatureBookControl.ascx.cs, 368 controls, 279 Fields element, DetailsView control, ErrorStyle element, WebPartZone 618–621 control, 862 File system editor window, 983 Event handlers, 54 File system Web sites, 26–27 example (walkthrough), 64–67 File types, ASP.NET, 22–23 Event model, 53–71 FileAuthorizationModule, 91 Event properties, 105 FileBytes property, FileUpload Event viewer, 264 control, 223 EventArgs parameter, 54 FileContent property, FileUpload event handlers, 54 control, 223 EventTest.aspx, 68–69 FileName property, FileUpload control, EventTest.aspx.cs, 69–70 223 Exception handling, 257–271 FilePath property, HttpRequest, 79 at the application level, 264–271 FileUpload control, 100, 180, 222–226 Application_Error event FileBytes property, 223 handler, 264–269 FileContent property, 223 common HTTP errors, 271 FileName property, 223 custom error pages, 270–271 HasFile property, 223 at the class level using a try…catch PostedFile property, 223 block, 259–262 properties of, 223 exception handling strategies, 261–262 uploaded file: exceptions, cost of, 260–261 limiting size of, 226 at the page level, 262–264 processing, 225–226 ExecuteNonQuery method, DbCommand Fill method, DbDataAdapter classes, classes, 516, 520 545–547 ExecuteReader method, DbCommand FillSchema method, DbDataAdapter classes, 516, 532–533 classes, 544 ExecuteScalar method, DbCommand FindUsersByEmail method, Membership class, 516, 520 class, 797 ExpandDepth property, TreeView FindUsersByName method, Membership control, 433 class, 797 Expanded property, TreeNode control, FinishButtonClick event, Wizard 425, 433 control, 219 Explicit resource expression, 962 FinishedButtonClick event handler, Export (Web part verb), 866 221 ExtenderTester.aspx file, 1010 FirstBulletNumber property, ExtractTemplateRows property, BulletedList control, 132 DataList control, 589 Connolly_index.fm Page 1030 Sunday, January 28, 2007 10:21 AM

1030 Index

FirstDayOfWeek property, Calendar BookPortal.aspx, 703 control, 163 complex domain entity, creating, Font property, WebControl class, 103 696–699 FooterStyle element, WebPartZone data access layer, modifying, 692–696 control, 862 data transfer object, 691 FooterStyle property, designing with a four-layer architecture, DataControlField, 619 689–692 FooterTemplate, 583 domain layer, 689 FooterText property: domain layer classes, 691–692 DataControlField, 619 entities, 670 DetailsView control, 617 presentation layer, using the architecture FormView control, 602 in, 702–703 GridView control, 628 Template Method pattern, 693–694 ForeColor property: Fowler, Martin, 567, 573, 668 validation controls, 279 Fowler, Susan, 631 ValidationSummary control, 282 Framework, Web parts, 854–902 Form property, HttpRequest, 79 FTP Web sites, 29 FormParameter, 558 Full page caching, 745–746 Forms authentication, 765–780 Full (trust name), 760 authentication tickets, security concerns with, 779–780 G cookieless authentication tickets, GenerateEmptyAlternateText 779–780 property, Image control, 139 how it works, 775–779 GeneratePassword method, log-in form, creating, 768–769 Membership class, 797 Login.aspx, 768–769 Generic collections: Login.aspx.cs, 770–771 constraining, 468–472 mode, ASP.NET, 764–765 making your own, 468–472 options, 778–779 Generics, 461–465 ticket, 777 collection classes, 464 user credentials, storing in Web.config function of, 463–465 file, 773–775 need for, 461–463 using, 765–768 geotrust.com, 757 FormsAuthenticationModule, 90 GetAllUsers method, Membership class, FormView control, 560–561, 579–580, 797 599–614 GetFactory method, 551–552 defined, 599–600 GetFactoryClasses method, modifying data, 604–614 DbProviderFactories, moving from record to record, 602–604 552–553 sample, 600 GetFillParameters method, two-way data binding, 607–608 DbDataAdapter classes, 544 Four-layer model, 689–714 GetNumberOfUsersOnline method, application logic layer, 689 Membership class, 797 creating, 699–702 GetPassword method, MembershipUser BookCatalogLogic.cs, 701–702 class, 800 ObjectDataSource, setting up, GetUser method, Membership class, 797 704–705 Connolly_index.fm Page 1031 Sunday, January 28, 2007 10:21 AM

Index 1031

GetUserNameByEmail method, programmatic row customization, Membership class, 797 655–656 .gif files, 21 properties of, 627–629 Global resources, 964–966 rows, selecting, 639–644 Global.asax, 77, 89, 396–397, 726 SelectedDataKey property, 629 Globalization, 952 SelectedIndex property, 629 Google, 908 SelectedRow property, 629 GridLines property: SelectedValue property, 629 DataList control, 589 selection properties, 642 DetailsView control, 617 ShowFooter property, 629 FormView control, 602 ShowHeader property, 629 GridView control, 628 simple, sample of, 627 Table control, 150 SortDirection property, 629 GridView control, 558, 560, 581, 626–644 SortExpression property, 629 AllowPaging property, 627 sorting, 648–650 AllowSorting property, 627 with ObjectDataSource control, AutoGenerateColumns property, 627 650 AutoGenerateDeleteButton walkthrough, 633–638 property, 627, 651 GroupingText property, Panel control, AutoGenerateEditButton property, 183 627, 651 AutoGenerateSelectButton H property, 628 HasFile property, FileUpload control, BackImageUrl property, 628 223 ButtonField, 633–634 Hashtable collection, 452, 453 using, 633 HeaderImageUrl property, columns, customizing, 629–633 DataControlField, 619 DataKey property, 628 HeaderStyle element, WebPartZone DataKeyNames property, 628 control, 863 default editing, 651 HeaderStyle property, DefaultMode property, 628 DataControlField, 619 EditGridView.aspx, 652–654 HeaderTemplate, 583 editing data within, 651–655 HeaderText property: EmptyDataText property, 628 DataControlField control, 619 EnableSortingAndPagingCallbacks DetailsView control, 617 property, 628 FormView control, 602 FooterText property, 628 GridView control, 628 GridLines property, 628 ValidationSummary control, 282 HeaderText property, 628 WebPartZone control, 864 HyperLinkField, using, 630–633 Height property, WebControl class, 103 master-details form, 641–644 HelloWorldCodeBehind.aspx, 18–19 nested controls, 660–662 HelloWorldCodeBehind.aspx.cs, 19 PageIndex property, 628 HelloWorldEmbedded.aspx, 16 PageSize property, 628 Help (Web part verb), 866 and pagination, 645–648 HelpPageIconUrl property, Login performing calculations, 656–660 control, 817 Connolly_index.fm Page 1032 Sunday, January 28, 2007 10:21 AM

1032 Index

HelpPageText property, Login control, Form property, 79 817 Params property, 79 HelpPageUrl property, Login control, PhysicalPath property, 80 817 properties of, 79–80 Hidden fields, 722 QueryString property, 79 HiddenField control, 100, 147–149 ServerVariables property, 80 HiddenFieldTest.aspx, 147–148 HttpResponse, 88–89 HiddenFieldTest.aspx.cs, BufferOutput property, 80 148–149 Cache property, 80 Value property, 147 Cookies property, 80 High (trust name), 760 properties/methods of, 80 HorizontalAlign property: Redirect method, 80 FormView control, 602 Write method, 80 Panel control, 183 HttpServerUtility, 88 Table control, 150 CreateObject method, 81 TableCell control, 152 HtmlDecode method, 81 TableRow control, 151 HtmlEncode method, 81 HorizontalPadding property, 424 MapPath method, 81 HotSpotMode property, ImageMap methods of, 81 control, 142 Transfer method, 81 HotSpots property, ImageControl UrlDecode method, 81 control, 142 UrlEncode method, 81 HTML attributes, 106–107 HttpSessionState, 88 HTML server controls, 41, 98 Hybrid approach, dynamic technology, 5–6 HtmlDecode method, HyperLink control, 100, 145–147 HttpServerUtility, 81 HyperLinkTest.aspx, 145–146 HtmlEncode method, HyperLinkTest.aspx.cs, 146 HttpServerUtility, 81 properties of, 145 HtmlEncode property, BoundField HyperLinkField: element, 620 DataNavigateUrlField property, HTTP cookies, using, 723–724 631 HTTP handlers, 77, 91 DataNavigateUrlFormatString HTTP module, 89 property, 631 HTTP protocol, 717 DataTextField property, 631 HttpApplication objects, 89–90 DataTextFormatString property, 631 HttpApplication pipeline, processing NavigateUrl property, 631 requests using, 92–94 Target property, 631 HttpApplicationFactory, 89 Text property, 631 HttpApplicationState, 88 using, 630–633 HttpContext, 88 HyperLinkField element, 618 HttpHandlers, 91 HyperLinkStyle login template, 816 HttpModules, 90–91 HttpRequest, 88–89 I AnonymousID property, 79 ICollection interface, 452 ApplicationPath property, 79 Id property, Control class, 104 Cookies property, 79 IDataAdapter, 505 FilePath property, 79 Connolly_index.fm Page 1033 Sunday, January 28, 2007 10:21 AM

Index 1033

IDataReader, 505 ImageUrl property: IDataRecord, 505 HyperLink control, 145 IDbCommand, 505 ImageMap control, 139 IDbConnection, 505 TreeNode control, 425 IDbDataAdapter, 505 Web part verbs, 867 Identity fields, 518, 606 ImageUrlField property, AdRotator IDictionary interface, 452 control, 237 IEnumerable interface, 449, 452 Impersonation, 758 IHttpAsyncHandler interface, 91 Implicit resource expression, 958 IIS application pool, 85–86 ImportCatalogPart, 881 IIS security, 755–758 Indexer property, 469 IList interface, 452 Inherits attribute, 19 IListSource interface, 449 InitializeCulture method, 967 Image control, 100, 138–141 InitialValue control, ImageAlign property, 139 RequiredFieldValidator, ImageTest.aspx, 139–140 281 ImageTest.aspx.cs, 140 In-place precompilation, 975–976 properties of, 139 InProc (in-process) session provider, 731 ImageButton class: InputAttributes property, Checkbox events, 117 control, 124 properties, 116 InsertCommand property, DbDataAdapter ImageButton control, 100 classes, 544 properties and events of, 116–117 InsertImageUrl property, CommandField ImageClickEventArgs parameter, 54 element, 624 ImageField element, 618 InsertMethod property, AlternateText property, 621 ObjectDataSource ConvertEmptyStringToNull control, 563 property, 621 InsertText property, CommandField DataAlternateTextField property, element, 624 621 InsertVisible property, DataAlternateTextFormatString DataControlField, 619 property, 621 Installer: DataImageUrlField property, 621 changing properties of, 985 DataImageUrlFormatString creating using Web Setup Project, property, 621 981–987 NullDisplayText property, 621 instantssl.com, 757 NullImageUrl property, 621 InstructionText property, Login ReadOnly property, 621 control, 817 using, 621–622 InstructionTextStyle login template, ImageMap control, 100, 141–145 816 events, 142 Integrated security, 510 ImageMapTest.aspx, 143–144 Integrated Windows Authentication, ImageMapTest.aspx.cs, 144 756–758 properties of, 142 Internet Information Services (IIS), 26 ImageToolTip property, TreeNode Invariant name, 552 control, 425 ISAPI extension, 82 Connolly_index.fm Page 1034 Sunday, January 28, 2007 10:21 AM

1034 Index

ISAPI filter, 82–83 Language interoperability, defined, 10 IsApproved property, MembershipUser Larman, Craig, 669 class, 799 LastActivityDate property, IsDBNull method, DbDataReader, 532 MembershipUser class, 799 IsLockedOut property, MembershipUser LastLockoutDate property, class, 799 MembershipUser class, 799 IsNullable property, DbParameter LastLoginDate property, classes, 523 MembershipUser class, 799 IsOnline property, MembershipUser LastPasswordChangedDate property, class, 799 MembershipUser class, 799 IsValid property, validation controls, 279 Layers, 667–670 Items property, ListControl class, 128 compared to tiers, 669 ItemStyle property, consequences of using, 669–670 DataControlField, 619 defined, 667 ItemTemplate, 582 dependencies, 667 IWebPart, 867–872 four-layer model, 689–714 CatalogIconImageUrl property, 867 goal of layering, 667 CustomWebPartBase.cs, 870–871 implementation, 667 Description property, 867 interface, 667 LoginControl.ascx.cs, 871–872 three-layer model, 673–689 properties, 867 two-layer model, 670–672 SubTitle property, 867 visualizing, 668 Title property, 867 LayoutEditorPart control, 883–884 TitleIconImageUrl property, 867 LayoutOrientation property, TitleUrl property, 867 WebPartZone control, 864 Lazy initialization, 725 J–K Leaf node, 423 J++, 10 LeafNodeStyle, 423 Java, 7 LinkButton class: JavaServer Faces and Struts, 7 events, 117 Javascript, 17 properties, 116 .jpg files, 21 LinkButton control, 100, 194–196 .js, files: properties and events of, 116–117 JScript.NET, 10 LinkedList collection, generics, 464 JSP (JavaServer Pages), 7 List collection, generics, 464 JVM (Java Virtual Machine), 12 ListBox control, 100, 127 Kerberos, 757 ListBox tutorial, 534–544 KeywordFilter property, AdRotator ListControl class, 127 control, 237 class hierarchy, 127 events, 128 L properties of, 128 ListControlProgrammatic.aspx, 130, Label control, 100, 108–110 131 LabelHotKeys.aspx, 109, 110 ListControlProgrammatic.aspx.cs, properties of, 108 130 LabelAttributes property, Checkbox ListItem class, properties of, 129 control, 124 List-style controls, 127–138 Connolly_index.fm Page 1035 Sunday, January 28, 2007 10:21 AM

Index 1035

List-to-object interaction pattern, 631 LoginImageUrl property, LoginStatus Literal control, 100, 110–112 control, 821 LiteralTest.aspx, 111 LoginName control, 814, 820 properties of, 110 LoginStatus control, 814, 821–822 LiteralMode property, Literal control, LoginImageUrl property, 821 110 LoginText property, 821 LoadControl method, Page class, 78 LogoutAction property, 821 Local IIS Web sites, 27–28 LogoutImageUrl property, 821 Local proxy class, 909 LogoutPageUrl property, 821 Local transactions, 525–526 LogoutText property, 821 Localization, 952 LoginText property, LoginStatus LocalizationDemo.aspx, 955 control, 821 LocalTransactions.aspx.cs, 526–527 LoginView control, 814, 822–824 LoggedIn event, 820 LogoutAction property, LoginStatus LoggingIn event, 820 control, 821 Login control, 814–820 LogoutImageUrl property, LoginStatus CreateUserIconUrl property, 817 control, 821 CreateUserText property, 817 LogoutPageUrl property, LoginStatus CreateUserUrl property, 817 control, 821 defined, 814 LogoutText property, LoginStatus DestinationPageUrl property, 817 control, 821 DisplayRememberMe property, 817 Low (trust name), 760 event handling with, 819–820 FailureAction property, 817 M FailureText property, 817 Managed code, 12 HelpPageIconUrl property, 817 MapPath method, HttpServerUtility, HelpPageText property, 817 81 HelpPageUrl property, 817 Markup, 39 InstructionText property, 817 .master, 23 login events, 820 Master-details form, 641–644 LoginButtonImageUrl property, 817 sample, 640 LoginButtonText property, 817 MaximumValue property, RangeValidator LoginButtonType property, 817 control, 287 MembershipProvider property, 817 MaxLength property, TextBox control, properties, 817–818 112 sample, 815 Medium (trust name), 760 style templates, 816 Membership, 791–802 styling/customizing, 815–816 Membership API, 792 Login controls, 814–829 using, 796–802 LoginButtonImageUrl property, Login membership providers, 792–793 control, 817 service, 783 LoginButtonStyle login template, 816 system, overview of, 792–793 LoginButtonText property, Login Membership class: control, 817 CreateUser method, 797 LoginButtonType property, Login DeleteUser method, 797 control, 817 FindUsersByEmail method, 797 LoginError event, 820 Connolly_index.fm Page 1036 Sunday, January 28, 2007 10:21 AM

1036 Index

Membership class (continued): MenuPopupStyle element, WebPartZone FindUsersByName method, 797 control, 863 GeneratePassword method, 797 MenuStyling.aspx, 409–410 GetAllUsers method, 797 MenuStyling.css, 410–411 GetNumberOfUsersOnline method, MenuVerbHoverStyle element, 797 WebPartZone control, 863 GetUser method, 797 MenuVerbStyle element, WebPartZone GetUserNameByEmail method, 797 control, 863 UpdateUser method, 797 Menu.xml, 242 ValidateUser method, 797 Menu.xslt, 244–245 MembershipProvider property, Login Intermediate Language (MSIL), control, 817 11, 513 MembershipUser class: Microsoft Internet Information Server (IIS), ChangePassword method, 800 754 ChangePasswordQuestionAndAnswer Microsoft SQL Server databases, data method, 800 provider for, 504 Comment property, 799 Microsoft Web Services Enhancements CreationDate property, 799 Toolkit, 948 Email property, 799 Microsoft’s Internet Information Services GetPassword method, 800 (IIS), 27 IsApproved property, 799 virtual directory, 29 IsLockedOut property, 799 Minimal (trust name), 760 IsOnline property, 799 Minimize (Web part verb), 866 LastActivityDate property, 799 MinimumValue property, RangeValidator LastLockoutDate property, 799 control, 287 LastLoginDate property, 799 ModifyProductSiteMapNode, 396 LastPasswordChangedDate project, 12 property, 799 MultiView control, 101, 180, 191–200 PasswordQuestion property, 799 creating tabbed panels, 194–199 ProviderName property, 799 events of, 193 ProviderUserKey property, 799 MultiViewTest.aspx, 197–199 ResetPassword method, 800 MultiViewTest.aspx.cs, 199 UnLockUser method, 800 navigation between views, 193–194 UserName property, 799 properties of, 193 MenuCheckImageStyle element, WebPartZone control, 863 N MenuCheckImageUrl property, Name property, Parameter class, 558 WebPartZone control, 864 Namespaces, 13 MenuLabelHoverStyle element, Naming containers, 200 WebPartZone control, 863 NavigateUrl property: MenuLabelStyle element, WebPartZone HyperLink control, 145 control, 863 HyperLinkField, 631 MenuLabelText property, WebPartZone TreeNode control, 425 control, 864 NavigateUrlField property, MenuMapping.xml, 417–418 AdRotator control, 237 MenuPopupImageUrl property, Nested GridView contols, 660–662 WebPartZone control, 864 Connolly_index.fm Page 1037 Sunday, January 28, 2007 10:21 AM

Index 1037

.NET Framework, 8–15 ObjectDataEditor.aspx, 566–567 Base Class Library (BCL), 13 ObjectDataSource control, 554, 562–563 class library hierarchy, 13 caching, 565 code access security, 760 example, 565–573 components of, 10–13 modifying data with, 613–614 core features of, 9 pagination with, 646–647 defined, 4, 8–9 Odbc, 507 as development framework, 9 OleDb, 507 execution, 14–15 OleDbCommand, 505 language compilers, 10–12 OleDbConnection, 505, 511 membership providers, 793 OleDbDataAdapter, 505 namespaces, 13 OleDbDataReader, 505 as software platform, 9 OnClientClick property, Button/ .NET Framework 2.0, 10 ImageButton/LinkButton .NET Framework 3.0, 9–10 classes, 116 .NET Framework Base Class Library Operator property, CompareValidator (BCL), 13 control, 285 New resource entry, adding, 962 Oracle, 508 NewImageUrl property, CommandField ODP.NET, 506 element, 624 Oracle databases, data provider for, 504 NewText property, CommandField Orientation property, Login control, 818 element, 624 OutputCacheModule, 90 NextButtonClick event handler, 219–220 NextButtonClick event, Wizard P control, 219 Padding property, WebPartZone control, NextMonthText property, Calendar 864 control, 163 Page class, 78 NextPrevFormat property, Calendar LoadControl method, 78 control, 163 RegisterClientScriptBlock NextPrevStyle element, 159 method, 78 NextResult method, DbDataReader, 533 Request property, 79 Node, 244 Response property, 80 NodeSpacing property, 424 Server property, 80–81 NONE authentication mode, ASP.NET, 764 Validate method, 78 Non-postback, controls, 68–70 Page events, 57 NullDisplayText property: Page lifecycle, 58–64 BoundField element, 621 Page output caching, 745–748 ImageField element, 621 full page caching, 745–746 NullImageUrl property, ImageField partial page caching, 746–747 element, 621 Page property, Control class, 104 Numeric format strings, 585, 586–587 Page scripting dynamic technology, 5–6 PageCatalogPart, 881–882 O PageIndex property: Obfuscator, 12 DetailsView control, 617 object parameter, event handlers, 54 FormView control, 602 ObjectCreating event handler, 563 GridView control, 628 Connolly_index.fm Page 1038 Sunday, January 28, 2007 10:21 AM

1038 Index

Page-level culture settings, 966–971 PasswordRecoveryText property, PageSize property, GridView control, Login control, 818 628 PasswordRecoveryUrl property, Login Pagination: control, 818 custom, creating a stored procedure to PasswordRequiredErrorMessage implement, 647–648 property, Login control, 818 and GridView control, 645–648 Patterns of Enterprise Application with ObjectDataSource control, Architecture (Fowler), 567, 667 646–647 PayPal, 908 Panel control, 101, 180, 182–191 Personalizable attribute, 886 PizzaPanelTest.aspx, 184–185, 191 Personalization, 859–860 PizzaPanelTest.aspx.cs, 186–189 information, 833 properties of, 183 PHP (PHP Hypertext Preprocessor), 6 Wrap property, 183 PhysicalPath property, HttpRequest, Parameter class, properties of, 558 80 Parameterized queries, 521 Pipeline, 200 ParameterName property, DbParameter defined, 92 classes, 523 PlaceHolder control, 101, 180, 227–236 Parameters, 516, 521 file browser, creating, 228–236 control types, 558 FileBrowser.aspx, 228–229 Params property, HttpRequest, 79 FileBrowser.aspx.cs, 231–236 Parent node, 423 PopulateOnDemand property, TreeNode Parent property: control, 425, 434 Control class, 104 Pop-up calendar, creating, 173–176 TreeNode control, 425 Portal, defined, 854 ParentNodeStyle, 423 PostAcquireRequestState event, 93 ParentPage.cs, 357–358 PostAuthenticateRequest event, 92 Parser error, 45–46 PostAuthorizeRequest event, 92 PartChromeStyle element, Postback, 55–57 WebPartZone control, 863 controls, 68–70 Partial page caching, 746–747 detecting, 67–68 Partial page updates, enabling, 1006–1008 flow, 56 PartStyle element, WebPartZone PostbackUrl property, Button/ control, 863 ImageButton/LinkButton PartTitleStyle element, WebPartZone classes, 116 control, 863 Post-cache substitution, 746–747 Passport authentication mode, ASP.NET, PostedFile property, FileUpload 764 control, 223 PassportAuthenticationModule, 90 PostMapRequestHandler event, 93 Password property, Login control, 818 PostReleaseRequestState event, 93 PasswordLabelText property, Login PostRequestHandlerExecute event, 93 control, 818 PostResolveRequestCache event, 92 PasswordQuestion property, PostUpdateRequestCache event, 93 MembershipUser class, 799 Precompilation for deployment, 975, PasswordRecovery control, 826–827 976–979 PasswordRecoveryIconUrl property, Prepare method, DbCommand classes, 516 Login control, 818 PreRequestHandlerExecute event, 93 Connolly_index.fm Page 1039 Sunday, January 28, 2007 10:21 AM

Index 1039

Presentation layer, 670–671 ProviderUserKey property, using the architecture in, 702–703 MembershipUser class, 799 PressReleaseRSS.cs, 886–888 Proxy, 909 PreviousButtonClick event, Wizard timeout, setting, 929–930 control, 219 ProxyWebPartManager control, 901 PrevMonthText property, Calendar PublisherRSSControl Web part, 889 control, 163 ProcessRequest method, 93 Q Production server, 25 Query strings, 560, 723 Professional.skin, 337 QueryString property, HttpRequest, 79 professionalStyles.css, 337 QueryStringParameter, 558, 560 Profile: Queue collection, 452 properties, 77, 737 generics, 464 service, 783 Quote service: ProfileBase, 88 creating, 938–945 ProfileModule, 91 Quote.cs, 940–941 ProfileParameter, 558 QuoteService.asmx, 943 Profiles, 834–854 QuoteService.cs, 941–943 anonymous access, 846–848 testing, 943–945 anonymous profiles: WS-I, 939 deleting, 848–850 migrating, 850–851 R custom types, 843 RadioButton control, 101 CustomProfile.cs, 844–846 programming, 126–127 defining, 834–836 RadioButtonList control, 101, 127, how they work, 840–842 135–138 profile data: properties, 135 saving/retrieving, 842–843 RangeValidator control, 273, 284 using, 836–840 ReadOnly property: profile groups, 840 BoundField element, 620 profile save behavior, controlling, 843 ImageField element, 621 when to use, 852–854 ReadOnlyCollectionBase class, 452 PropertyGridEditorPart, 883–884, ReadXML.aspx, 492, 494 886–889 ReadXML.aspx.cs, 492–494 Provider, defined, 780 Redirect method: Provider factories, 551 HttpResponse, 80 Provider model, 780–791 Response property, 78 architecture, 781–784 RegisterClientScriptBlock method, Factory Method design pattern, 781 Page class, 78 provider-based services, 782–783 RegularExpressionValidator control, Strategy design pattern, 781 273, 288–296 benefits of, 780–781 RegEx class, using, 293–295 custom providers, creating, 784–791 regular expressions: proficer classes, 784 common, 288–289, 291 Provider Web part, 889 defined, 288 ProviderName property, MembershipUser and security, 295–296 class, 799 Connolly_index.fm Page 1040 Sunday, January 28, 2007 10:21 AM

1040 Index

RegularExpressionValidator control Result set, 530 (continued): .resx, 23 ScrapeHeadings.aspx, 293 ReviewService.cs, 789–790 ScrapeHeadings.aspx.cs, 293–294 Role management, 803–813 ReleaseRequestState event, 94 defined, 803 RememberMeSet property, Login control, management technique, 803–806 818 Role class, methods of, 807–808 RememberMeText property, Login role management API, 806–814 control, 818 role provider, 803 RepeatColumns property: RoleManager.aspx, 809–810 DataList control, 590 RoleManager.aspx.cs, 811–813 RadioButtonList/CheckBoxList service, 783 controls, 135 Role-based authorization, 754 RepeatDirection property: RoleManagerModule, 90 DataList control, 590 Root node, 423 RadioButtonList/CheckBoxList RootNodeStyle, 423 controls, 135 Round trip, defined, 56 Repeater control, 578–579, 595–598 RowCommand event handler, adding, templates, 595 636–637 RepeatLayout property: Rows property: DataList control, 589 Table control, 150 RadioButtonList/CheckBoxList TextBox control, 112 controls, 135 RowSpan property, TableCell control, Request property, Page class, 79 152 RequiredFieldValidator control, 272, RSS feed, processing, 248–253 280 RssReader.aspx, 250–251 unique property of, 281 RssReader.aspx.cs, 251–252 Reserved application folders, 22 RssTransform1.xsl, 249 ResetPassword method, RssTransform2.xsl, 249–250, 502 MembershipUser class, 800 Ruby on Rails, 7 ResolveRequestCache event, 92 Resource editor, Visual Studio, 961 S Resource files, 952–954 SCOPE_IDENTITY() function, 524 generating, 954–959 ScrapeHeadings.aspx, 293 localizing, 959–964 ScrapeHeadings.aspx.cs, 293–294 Resource hierarchy, 960 ScrollBars property, Panel control, 183 Resource key prefix value, 958 Secure Sockets Layer (SSL), 756 Resources: Security, 754–765 adding, 961–964 ASP.NET authentication, 764–765 defined, 952 authenticated identity, 754 explicit resource expression, 962 authorization, 754 global, 964–966 role-based, 754 implicit resource expression, 958 credentials, 754 Response property, Page class, 80 IIS, 755–758 Response.Redirect vs. provider model, 780–791 Server.Transfer, 81 Security checks, ASP.NET, 759 Restore (Web part verb), 866 Connolly_index.fm Page 1041 Sunday, January 28, 2007 10:21 AM

Index 1041

SelectCommand attribute, 555 SelectWeekText property, Calendar SelectCommand property, control, 163 DbDataAdapter classes, 544 SeparatorTemplate, 583 Selected property: Serialization, 719 ListItem class, 129 Server controls, 41 TreeNode control, 425 Server property, Page class, 80–81 SelectedDataKey property, GridView Server-side comments, 40 control, 629 ServerValidate event, SelectedDate property, Calendar CustomValidator control, control, 163 296 SelectedDates property, Calendar ServerVariables property, control, 163 HttpRequest, 80 SelectedDayStyle element, 159 Service-oriented architecture (SOA), 907 SelectedIndex property: Services, defined, 906 GridView control, 629 Session ID, 728 ListControl class, 128 Session state, 727–737 SelectedIndexChanged event, 68 ASP.NET session process, 730 ListControl class, 128 how it works, 728–730 SelectedItem property, ListControl optimizing, 735–737 class, 128 profile properties, 737 SelectedItemTemplate, 583 service, 783 SelectedNode property, TreeView state providers, 729–731 control, 436–437 in-process session provider, 731 SelectedNodeChanged event, 435 SQL Server session provider, 734–736 SelectedPartChromeStyle element, state server session provider, 732–733 WebPartZone control, 863 SessionParameter, 558 SelectedRow property, GridView SessionStateModule, 90 control, 629 SetFocusOnError property, validation SelectedValue property: controls, 279 DetailsView control, 617 Setup Wizard Project, Visual Studio, 982 FormView control, 602 Shared scope, 860 GridView control, 629 SharePoint 2003, 55–56 ListControl class, 128 ShowCancelButton property, SelectGridView.aspx, 642–644 CommandField element, 624 SelectGridView.aspx.cs, 644 ShowCheckBox property, TreeNode SelectImageUrl property, CommandField control, 425 element, 624 ShowDayHeader property, Calendar SelectionChanged event, 164–165 control, 163 Calendar control, 164 ShowDeleteButton property, SelectionMode property, Calendar CommandField element, 624 control, 163 ShowEditButton property, SelectMonthText property, Calendar CommandField element, 624 control, 163 ShowFooter property: SelectorStyle element, 159 DataList control, 589 SelectParameters element, 557 GridView control, 629 SelectText property, CommandField ShowGridLines property, Calendar element, 624 control, 163 Connolly_index.fm Page 1042 Sunday, January 28, 2007 10:21 AM

1042 Index

ShowHeader property: Solution definition file (.sln), 26 DataControlField, 619 Solution user options file (.suo), 26 DataList control, 589 SortDirection property, GridView GridView control, 629 control, 629 ShowInsertButton property, SortedDictionary collection, generics, CommandField element, 625 464 ShowMessageBox property, SortedList collection, 452 ValidationSummary generics, 464 control, 282 SortExpression property: ShowNextPrevMonth property, DataControlField, 619 Calendar control, 163 GridView control, 629 ShowSelectButton property, SourceColumn property, DbParameter CommandField element, 625 classes, 523 ShowSummary property, Spaghetti code, 7 ValidationSummary SQL commands: control, 282 DELETE, 518–519 ShowTitle property, Calendar control, INSERT, 518, 520 164 SELECT, 517–518, 533 ShowTitleIcons property, UPDATE, 518, 607 WebPartZone control, 864 SQL injection attack, 521 ShowWeatherControl.ascx.cs, 927–928 SQL Server Authentication, 510 SideBarButtonClick event, Wizard SQL Server session provider, 734–736 control, 219 SqlClient, 507 Single book data, adding ability to view and SqlCommand, 505 edit, 709–711 SqlConnection, 504–505 Site culture, letting the user control, 969–971 SqlDataAdapter, 505 Site map service, 783 SqlDataReader, 505 .sitemap, 23 SqlDataSource control, 554, 561 SiteMapDataSource, 555 problems with, 561–562 Size property, DbParameter classes, 523 SqlDataSourceView class, 561 .skin, 23 SqlMembershipProvider: SkinID property, Control class, 104 configuring, 793–796 Skins: defined, 793 Cool.skin, 336 using in conjunction with WAT, 794 coolstyles.css, 339–340 Stack collection, 452 creating, 323 generics, 464 defining, 321–322 Staging server, 25 named, 326–327 Stanwick, Victor, 631 Professional.skin, 337 State management, 717–750 professionalStyles.css, 337–339 application state, 725–727 Sliding expiry time, 739 ASP.NET, 717 SOAP (Simple Object Access Protocol), client-stored state, 718–724 906–907 session state, 727–730 Software development, errors in, 43–46 State property, 509 Software platform, .NET Framework as, 9 State providers, in-process session provider, Software projects, and shifting 731 requirements, 666 State server session provider, 732–733 Connolly_index.fm Page 1043 Sunday, January 28, 2007 10:21 AM

Index 1043

StateBag, 718 Repeater control, 595 Statelessness, defined, 717 TerraService (Microsoft), 910–914 Static connection, creating, 890–891 Text property: Static vs. dynamic Web content, 4–5 Button/ImageButton/LinkButton Stored procedures, 519–520 classes, 116 Style elements, 159–164 Checkbox control, 124 Submit buttons, 116 HyperLink control, 145 Subproperties, 103 HyperLinkField, 631 Subscription-only content, 754 Label control, 108 Substitution control, 747 ListItem class, 129 SubTitle property, IWebPart, 867 Literal control, 110 Synchronization, 975 TableCell control, 152 System.Collections namespace, 450 TreeNode control, 426 System.Collections.Generics validation controls, 279 namespace, 450 Web part verbs, 867 System.Collections.Specialized TextAlign property: namespace, 450 Checkbox control, 124 System.Transaction namespace, 529 RadioButtonList/CheckBoxList System.Transactions.dll, 529 controls, 135 TextBox control, 101, 112–115 T events, 114 TabIndex property, WebControl class, properties of, 112 103 TextBoxEvent.aspx, 114 Table control, 101 TextBoxEvent.aspx.cs, 114–115 object model for, 150 TextBoxTest.aspx, 113 properties of, 150–151 Wrap property, 112 TableTest.aspx, 152–153 TextBoxStyle login template, 816 TableTest.aspx.cs, 153–154 TextChanged event, TextBox control, 114 Table Module pattern, 567, 573 TextLayout property, Login control, 818 TableCell control: TextMode property, TextBox control, 112 properties of, 151–152 thawte.com, 757 Wrap property, 152 Themes: TableRow control, properties of, 151 adding: TableSection property, TableRow applying, 324 control, 151 creating in Visual Studio, 322–323 Target property: and CSS, 328–331 AdRotator control, 237 dynamically setting, 331–333 BulletedList control, 132 how they work, 324–325 HyperLink control, 145 and images, 327–328 HyperLinkField, 631 overriding, 325–326 ImageMap control, 142 ThemeTester.aspx, 333–334 Template Method pattern, 693–694 ThemeTester.aspx.cs, 335 TemplateControl class, 78 using, 320–322 TemplateField field type, 618, 625–626 ThemeTester.aspx, 333–334 Templates, 582–583 ThemeTester.aspx.cs, 335 DataList control, 591–593 Third-party design resources, using, 714 Connolly_index.fm Page 1044 Sunday, January 28, 2007 10:21 AM

1044 Index

Three-layer model, 673–689 TreeEventHandling.aspx.cs, 438 AbstractBO.cs, 678–679 TreeNode control: business layer, 673 Checked property, 425 business objects: ChildNodes property, 425 defined, 674 DataItem property, 425 designing/implementing, 674–684 DataPath property, 425 samples of, 677 Depth property, 425 using programmatically, 684–685 Expanded property, 425, 433 using with ObjectDataSource, ImageToolTip property, 425 685–689 ImageUrl property, 425 namespaces, using, 683–684 NavigateUrl property, 425 PublisherBO.cs, 680–683 Parent property, 425 Tiers, compared to layers, 669 PopulateOnDemand property, 425, 434 Title property, IWebPart, 867 Selected property, 425 TitleBarVerbButtonType property, ShowCheckBox property, 425 WebPartZone control, 864 Text property, 426 TitleBarVerbStyle element, ToolTip property, 426 WebPartZone control, 863 Value property, 426 TitleFormat property, Calendar TreeNodeCheckChanged event, 435 control, 164 TreeNodeCollapsed event, 435 TitleIconImageUrl property, TreeNodeDataBound event, 435 IWebPart, 867 TreeNodeExpanded event, 435 TitleStyle element, 160 TreeNodePopulate event, 433, 435 TitleText property, Login control, TreeNodePopulate handler, creating, 434 818 TreeView control, 423–424 TitleTextStyle login template, 816 changing appearance properties/styles, TitleUrl property, IWebPart, 867 427–430 TodayDayStyle element, 160 events, 433 TodaysDate property, Calendar control, ExpandDepth property, 433 164 ImageSet property, 428–430 ToolTip property: LineSets property, 430 TreeNode control, 426 populate on demand, 433–435 WebControl class, 103 using, 426–427 Top-level compilation item order, 77 using database data, 431–433 Trace.axd, 91 using XML data, 431 TraceContext, 88 TreeView Line Image Generator, 430 Transactions, 516, 525–529 Trust exception, 763 TransactionScope class, 528–529 T-SQL stored procedure, 519 Transfer method, HttpServerUtility, Two-layer model, 670–672 81 data access layer, 671–672 Transform property, Xml control, 246 presentation layer, 670 TransformArgumentList property, Xml Two-way data binding, 607–608 control, 246 Type parameter, 468–469 TransformSource property, Xml control, Type property: 246, 247 BaseCompareValidator control, 285 TreeEventHandling.aspx, 437–441 Parameter class, 558 Connolly_index.fm Page 1045 Sunday, January 28, 2007 10:21 AM

Index 1045

Typed DataSet, 483–485 UseSubmitBehavior property, Button/ TypeName property, 563 ImageButton/LinkButton classes, 116 U UsingCSS.aspx, 315, 316–318 UICulture property, Page class, 966 UsingCSS.aspx.cs, 318–319 Unit-based measurement properties, 105 UnLockUser method, MembershipUser V class, 800 Validate method, Page class, 78 Update method, DbDataAdapter, 544, ValidateEmptyText property, 547–550 CustomValidator UpdateCommand property, DbDataAdapter control, 296 classes, 544 ValidateUser method, Membership UpdatedRowSource, 516 class, 797 UpdateImageUrl property, CommandField Validation: element, 625 controls, 99, 272 UpdateMethod property, groups, 302–308 ObjectDataSource GroupingValidators.aspx, control, 563 305–307 UpdateProgress control, using, GroupingValidators.aspx.cs, 1008–1009 308 UpdateRequestCache event, 93 server controls, 271–308 UpdateText property, CommandField ASP.NET form validation process, element, 625 273–308 UpdateUser method, Membership class, client-side validation process, 797 274–276 URL-encoded querystring, 723 common validation properties, UrlAuthorizationModule, 90 278–279 UrlDecode method, defined, 272 HttpServerUtility, 81 server-side validation process, UrlEncode method, 276–278 HttpServerUtility, 81 static vs. dynamic display of, 279–280 Use cases, 666, 689, 699 types of, 272–273 UseAccessibleHeader property, ValidationExpression property, Calendar control, 164 RangeValidator control, User controls, 99 288 User credentials, storing in Web.config ValidationGroup property: file, 773–775 Checkbox control, 124 User scope, 860 CommandField element, 625 UserName property: validation controls, 279 Login control, 818 ValidationSummary control, 282 MembershipUser class, 799 ValidationSummary control, 273, UserNameLabelText property, Login 282–284 control, 818 DisplayMode property, 282 UserNameRequiredErrorMessage EnableClientScript property, 282 property, Login control, 818 ForeColor property, 282 HeaderText property, 282 Connolly_index.fm Page 1046 Sunday, January 28, 2007 10:21 AM

1046 Index

ValidationSummary control (continued): Visual Studio: properties of, 282 Add Reference option, 529 ShowMessageBox property, 282 creating a stored procedure in, 519–520 ShowSummary property, 282 creating a Web site in, 30–31 ValidationGroup property, 282 debugger, using, 46–50 ValidatorTextStyle login template, encountering errors, 43–46 816 formatting Calendar control, 161–162 Value property: Intellisense feature, 70 DbParameter classes, 523 specifying a code separation file in, 21 ListItem class, 129 using the Configure Data Source Wizard TreeNode control, 426 in, 556 ValueToCompare property, Web Deployment Project add-in, 972 CompareValidator Web projects, 25–26 control, 285 Web Setup Project/Setup Wizard VaryByParam attribute, 746 Project, 972 VBScript, 7, 17 Visual Studio 2005, 24–29 VerbButtonType property, WebPartZone file system Web sites, 26–27 control, 864 local IIS Web sites, 27–28 Verbs, 857 opening a Web project in, 26–27 VerbStyle element, WebPartZone Visual Studio Designer, 555, 666 control, 863 Visual Studio projects, 26 VeriSign.com, 757 Visual Web Developer 2005 Express VerticalAlign property: Edition, 24 TableCell control, 152 TableRow control, 151 W VerticalPadding property, 424 Web application projects, 26 View control, 101, 180, 191–200 Web applications: events of, 193 anonymous access to, 756 View state, 57–58, 718–722 design and ASP.NET, 666–670 ASP.NET, 57–58 design, layers, 667–670 uses/misuses of, 721–722 internationalizing, 952–971 using, 720 roles in, 754 Views property, MultiView control, 193 Web Deployment Project add-in, Visual Virtual directory, Microsoft’s Internet Studio, 972 Information Services (IIS), 29 Web events service, 783 Visible property: Web farm, 732 Control class, 104 Web Forms, 15–23 DataControlField, 619 adding, 31–32 Web part verbs, 867 adding event handlers to, 707–708 VisibleDate property, Calendar adding GridView controls to, 705–707 control, 164 adding HTML content to, 33–36 VisibleMonthChanged event, Calendar adding markup content to, 535–536, control, 164 634–635 VisibleWhenLoggedIn property, Login code render blocks, 40 control, 818 creating, 29–50 Visual Basic.NET (VB.NET), 10 HTML server controls, 41–42 Connolly_index.fm Page 1047 Sunday, January 28, 2007 10:21 AM

Index 1047

processing cycle for, 55–56 essential standard, 107–176 programming logic, adding, 39–43 event properties, 105 server controls, 41 HTML attributes, 106–107 viewing, 36–39 manipulating properties Web server controls, 42–43 programmatically, 104–107 Web garden, 732 overview of, 99–107 Web parts, 783, 854–902 standard: chrome, 857 additional, 180–181 class hierarchy, 859 working with, 97–178 components, 856 unit-based measurement properties, connections: 105 data flow with, 891 Web service data, preserving, 927–929 defined, 889 Web Service Enhancements (WSE), 948 dynamic connections, 901–902 Web services, 905–950 static connection, creating, 890–891 asynchronous, 930–936 creating/using, 860–864 benefits of, 907–909 defined, 856 consuming, 909–936 display mode, 876–878 Amazon Web Services (AWS), framework, 854–902 918–926 making from user controls, 867–872 and performance, 927–930 personalization, 859–860 in a user control, 914–917 portal, defined, 854 using Visual Studio, 909–914 shared scope, 860 creating, 936–948 simple example, 862 guidelines for, 947–948 user scope, 860 on a local machine (walkthrough), verbs, 857, 865–866 937–938 Checked property, 866 creating a front-end, 945–947 Description property, 866 defined, 906 Enabled property, 867 as interface, 946 ImageUrl property, 867 platform independence of, 907 properties, 866–867 simple quote service, creating, 938–945 Text property, 867 Web services-enabled integration, 908 Visible property, 867 Web Setup Project: Web part manager, 858 creating an installation program using, Web part zones, 857 981–987 WebPartZone control, style elements, creating in Visual Studio, 982 862–863 Web site projects, 26 Web reference, adding in Visual Studio, 909, Web.config file, 92 911 WebConfigurationManager class, 514 Web server controls, 42–43 WebControl class, 101 ASP.NET, 17 inheritance from Control class, 104 client-side events, 121–123 properties of, 103 collection properties, 106 WebDescription attribute, 886 color-based properties, 105–106 WebDisplayName attribute, 886 command event, 119–121 WebPartManager control, 901 common members, 101–104 WebPartVerbRenderMode property, defined, 98 WebPartZone control, 864 Connolly_index.fm Page 1048 Sunday, January 28, 2007 10:21 AM

1048 Index

WebPartZone control: customizing, 210–218 AllowLayoutChange property, 863 events of, 219 BackImageUrl property, 863 FinishButtonClick event, 219 DragHighlightColor property, 863 layout of, 208–209 EmptyZoneText property, 864 multipage Web wizard, maintaining state EmptyZoneTextStyle element, 862 information in, 201 ErrorStyle element, 862 NextButtonClick event, 219 FooterStyle element, 862 object model, 205 HeaderStyle element, 863 PreviousButtonClick event, 219 HeaderText property, 864 properties of, 203–205 LayoutOrientation property, 864 SideBarButtonClick event, 219 MenuCheckImageStyle element, 863 using, 205–207 MenuCheckImageUrl property, 864 Web wizard processing, 202 MenuLabelHoverStyle element, 863 wizard event handling, 219–221 MenuLabelStyle element, 863 ActiveStepChanged event MenuLabelText property, 864 handler, 220–221 MenuPopupImageUrl property, 864 FinishedButtonClick event MenuPopupStyle element, 863 handler, 221 MenuVerbHoverStyle element, 863 NextButtonClick event handler, MenuVerbStyle element, 863 219–220 Padding property, 864 WizardStep control, properties of, 207 PartChromeStyle element, 863 Worker process, 84–85 PartStyle element, 863 Wrap property: PartTitleStyle element, 863 Panel control, 183 SelectedPartChromeStyle element, TableCell control, 152 863 TextBox control, 112 ShowTitleIcons property, 864 Write method, HttpResponse, 80 TitleBarVerbButtonType property, WS-Attachments, 948 864 WSDL (Web Services Description TitleBarVerbStyle element, 863 Language), defined, 906–907 VerbButtonType property, 864 WS-I (Web Services Interoperability VerbStyle element, 863 Organization), 939 Web parts, style elements, 862–863 WS-Security, 948 WebPartVerbRenderMode property, 864 X Web.sitemap, 377 Xbox Live subscription-based online gaming WeekendDayStyle element, 160 Web service, 909 Width property, WebControl class, 103 Xml control, 101, 180, 241–253 Windows Authentication, 510 Menu.xml, 242 Windows authentication mode, ASP.NET, Menu.xslt, 244–245 764 programming, 247–253 Windows NT Challenge/Response, 757 properties of, 246 WindowsAuthenticationModule, 90 RSS feed, processing, 248–253 Wizard control, 101, 180, 200–221 RssReader.aspx, 250–251 ActiveStepChanged event, 219 RssReader.aspx.cs, 251–252 CancelButtonClick event, 219 RssTransform1.xsl, 249 Connolly_index.fm Page 1049 Sunday, January 28, 2007 10:21 AM

Index 1049

Xml control (continued): RssTransform2.xsl, 249–250, 502 XmlProgramming.aspx.cs, 247 XSLT file, creating, 243–246 XML documentation comments, 70 XmlDataSource, 555 XPathNavigator property, Xml control, 246, 247 XSLT file, creating, 243–246