$.ajax call, 1779
@Director parameter, 512
$(document).ready( ) method, jQuery, 1773–1774
/ (forward slash), 1124
$get( ) method, 1754
@Id parameter, 512
$( ) method, jQuery, 1773–1774
%@ OutputCache % directive, 1337, 1369
CacheProfile attribute, 1361
Location attribute, 1349, 1351
VaryByControl attribute, 1342, 1344
VaryByCustom attribute, 1346–1349
VaryByHeader attribute, 1345–1346
VaryByParam attribute, 1338, 1342
~ (tilde character), 1124
@Title parameter, 512
_ (underscore character), 730
a templates, PagerTemplate, 509
Abandon( ) method, 1284–1285
About.asax file, 1092–1093
absolute cache expiration policy, 1376–1377
absolute expiration policy, Data Caching, 1390–1392
absolute layouts, 288–290
Absolute.css file, 288–290
Accept Changes button, 906
Accept-Language headers, 1428
AcceptChanges( ) method, 902
accepting
form input, 1507–1509
user input. See user input, accepting
access. See also data access
controllers, 1506
WCF Data Services, 1001
data context, 1007–1009
service references, 1002–1007
access modifiers, 743–744
AccessDataSource control, 351, 379
accessibility guidelines
GridView control, 487
labels, 65
AccessibleHeaderText property (BoundField), 525
AccessKey property
Button control, 85
CheckBox control, 78
ImageButton control, 93
ImageMap control, 110
LinkButton control, 88
RadioButton control, 81
TextBox control, 70
Accordion control, 1737
ActionUrl property (PostBackOptions class), 1614
Activate event
View control, 220
WizardStep, 227
Active Directory Application Mode (ADAM), 1240–1242
ActiveDirectoryMembershipProvider, 1226, 1239, 1242–1244
ActiveStep property (Wizard control), 226
ActiveStepChanged event, 227
ActiveStepIndex property (Wizard control), 226
ActiveViewChanged event, 220
ActiveViewIndex property (MultiView control), 220
AD LDS instances, creating, 1240
ADAM (Active Directory Application Mode), 1240–1242
AdCreated event handler, 214–215
Add Extender task, 1735
Add New Item command (Website menu), 5, 722
Add New Item dialog box, 373
AddAttribute( ) method, 1580, 1582
AddAttributesToRender( ) method, 1586, 1616
AddDesignTimeCssAttributes( ) method, 1639
Added value, 901
AddFile( ) method, 193
AddFileDependencies( ) method, 1353
AddFileDependency( ) method, 1353
adding
automatic properties, 937
comments, 745
entities, 1006
event handlers, 24
GridView control, 487
items to caches, 1390
Login controls, 1157
Menu items, 1021–1024
service references, 1003
SiteMapPath controls, 1015
SqlDataSource control, 487
titles to charts, 706
AddMovie.aspx page, 1354–1355
AddMovieDataSourceKeyDependency.aspx page, 1386
AddMovieKeyDependency.aspx page, 1357
AddOnPreRenderCompleteAsync( ) method, 917
AddParameter.aspx page, 426, 428
AddParsedSubObject( ) method, 1619, 1626
addresses (email), validating, 151, 153
AddressForm control, 311, 315, 317
Checkout.ascx example, 315, 317
AddStyleAttribute( ) method, 1580
AddUsersToRole( ) method, 1258
AddUsersToRoles( ) method, 1258
AddUserToRole( ) method, 1258
AddUserToRoles( ) method, 1258
AddValidationCallback( ) method, 1358
AddWithValue( ) method, 863–864
AdHandler.ashx page, 216
AdList.xml file, 211–212
AdminUsersSection class, 1553
AdminUsersSection.cs file, 1553
ADO.NET
asynchronous ASP.NET pages, 914, 917
asynchronous database commands, 911–912, 914
Command object, 859
executing commands with parameters, 863–864
executing commands without parameters, 860, 862
executing stored procedures, 865–872
returning resultsets, 876–881
returning single values, 874, 876
Connection object, 848–849
Connection pooling, 856–858
provider statistics, retrieving, 849–856
DataAdapter object, 889
batch updates, performing, 892–893, 896
displaying data with, 890, 892
populating DataTables with, 889–890
DataReader object, 881
Multiple Active Results Sets (MARS), 888
multiple resultsets, returning, 882, 884
Read( ) method, 881
DataTable object, 896
building programmatically, 896, 898
DataRow states and versions, 901, 903, 906
DataView object, 906
parameters, adding to SqlDataSource commands, 426, 428
AdCreated event, 207
displaying advertisements, 207–208
properties, 207
storing advertisements in database tables, 212–213
storing advertisements in XML files, 208–212
AdList.xml file, 211–212
AdRotatorXML.aspx page, 208
tracking impressions and transfers, 213–219
AdHandler.ashx page, 216
AdRotatorStats.aspx page, 218
AdRotatorTrack.aspx page, 214
AdRotatorDatabase.aspx page, 212
AdRotatorStats.aspx page, 218
AdRotatorTrack.aspx page, 214
AdRotatorXML.aspx page, 208
AdStats database table, 215
AdvancedCheckBox control
AdvancedCheckBox.cs file, 1614
ShowAdvancedCheckBox.aspx page, 1616
AdvancedCheckBox.cs file, 1614
AdvertisementFile property (AdRotator control), 207
advertisements
displaying, 207–208
impressions and transfers, tracking, 213–219
AdHandler.ashx page, 216
AdRotatorStats.aspx page, 218
AdRotatorTrack.aspx page, 214
storing in database tables, 212–213
storing in XML files, 208–212
AdList.xml file, 211–212
AdRotatorXML.aspx page, 208
Aggregate( ) method, 951
AggregateCacheDependency class, 1394
AJAX (Asynchronous JavaScript and XML), 317, 320, 578
debugging, 1675–1677
jQuery. See jQuery
overview of, 1674–1675
paging through data with, 578–579
paging through GridView data, 503–504
server-side versus client-side, 1675
sorting data with, 496–497
Timer controls, 1724–1728
TreeView controls, 1066–1067, 1070
UpdatePanel control, 1677–1685
aborting current asynchronous postbacks, 1710
canceling current asynchronous postbacks, 1707, 1709
execution life cycles, 1697–1707
handling errors, 1714–1717, 1720
JavaScript, 1694–1697
passing current asynchronous postbacks, 1712, 1714
triggers, 1686–1687
updating, 1692–1693
UpdateProgress controls, 1728–1729, 1731
Web services, calling, 1776–1781
AJAX Control Toolkit, 1734, 1736
controls, 1737–1739
Animation, 1759, 1761, 1763–1764
AutoComplete, 1739–1750
UpdatePanelAnimation, 1764–1768
Ajax Request file, 1720
Ajax Response file, 1720
AjaxPaging.aspx page, 503–504
AjaxSorting.aspx page, 496–497
AjaxValidator control, 167
AjaxValidator.js file, 173–174
AjaxValidator.cs file, 171
ShowAjaxValidator.aspx page, 174
AjaxValidator.js file, 173–174
AjaxValidator.cs file, 171
AjaxValidatorEvaluateIsValid( ) function, 173–174
AjaxValidatorResult( ) method, 174
alert boxes, displaying, 165–166
All value, 1054
allowAnonymous attribute, 1298, 1303–1304
allowCustomSqlDatabase attribute, 1297
AllowPaging property (GridView control), 501, 503
AllowReturn property (WizardStep control), 227
AllowSorting property (GridView), 495–496
AllowWhiteSpaceLiterals( ) method, 1626
ALTER DATABASE command, 1409
AlternateText property
Image control, 105
ImageButton control, 93
ImageField, 543
ImageMap control, 110
AlternateTextField property (AdRotator control), 207
AlternatingItemStyle property (DataList control), 657
AlternatingItemTemplate property (TemplateField), 546
AlternatingItemTemplate template, 627, 645, 662, 664
AlternatingRowStyle property (DetailsView control), 601
alternative text for images, 90
AlwaysVisibleControl control, 1737
analysis, Chart control, 698, 700–701, 704
And( ) method, 984
Animation control, 1737, 1759–1764
anonymous functions, 1775
anonymous HTTP Handlers, creating, 1478–1481
IHttpAsyncHandler interface, 1478
RSSHandler.cs file, 1479
ShowRSSHandler.aspx page, 1481
Web.Config file, 1480
Anonymous Identification, 1303
anonymous profiles, 1306–1308
anonymous types, 940
anonymous users, supporting in Profiles, 1303–1307
anonymousIdentification configuration section, 1515
Answer ID, 1180
Any value, 1349
AppendCacheExtension( ) method, 1358
AppendDataBoundItems property (List controls), 450, 452
appending list items, 450, 452
AppendListItems.aspx page, 451
AppendLiteralString( ) method, 1626
AppendTrailingSlash( ) method, 1135
AppInitialize( ) method, 1135
Application.init event, 1700
Application.load event, 1700
Application.unload event, 1700
ApplicationLoadEventArgs, 1704
applications
AJAX. See AJAX
architecture, 757
Business Logic layer, 761, 765
multi-tier applications, building, 757–758
User Interface layer, 758–761
configuring for Polling SQL cache dependencies, 1402–1403
configuring for Push SQL cache dependencies, 1410
databases, deploying, 1571–1572
dynamic data, 1491–1492
importing, 1568
localizing, 1419–1420
applying Localize controls, 1450–1452
ASP.NET controls, 1433–1434
configuring cultures manually, 1421–1428
CultureInfo class, 1434–1438
deleting cultures automatically, 1428, 1431–1432
global resources, 1446–1450
local resources, 1438–1445
UICulture property, 1420–1421
web configuration files, 1432–1433
MVC Framework, 1501
accepting form input, 1507, 1509
controllers, 1502
models, 1502
pages, 1505–1507
views, 1502
one-click, 1572–1573
reading configuration sections from, 1524–1527
ShowConfigApp.aspx page, 1524–1525
ShowConfigPath.aspx page, 1528
ShowConfigRelative.aspx page, 1525, 1527
URL routing, 1137–1139, 1143–1146
linking to other pages with routes, 1142–1143
mapping, 1139–1142
scenarios, 1139
Web.config file transformations, 1569–1571
Application_BeginRequest( ) handler, 1485
Application_Start( ) event handler, 1091
Application_Start( ) method, 1523
ApplyAppPathModifier( ) method, 1290
ApplyFormatInEditMode property (BoundField), 525
applying
constrained routes, 1144–1145
partial classes, 42
Visual Web Developer, 40
appSettings configuration, 1521
appSettings element (web.config file), 1520, 1522–1523
AppSettings property
Configuration class, 1536
WebConfigurationManager class, 1523
appSettings.config file, 1523
AppSettingsExpressionBuilder class, 1464
App_Code folder, mixing different language components, 725–726
App_CodeAutoSiteMapProvider.cs file, 1106, 1109
App_CodeMovie1.cs file, 845
App_CodeSqlSiteMapProvider.cs file, 1111, 1114
App_GlobalResources folder, 1447
App_Themes folder, 270
App_ThemesStyleThemeSimpleStyle.css file, 281–282
App_WebReferences folder, 780
architecture, 757
Business Logic layer, 761, 765
multi-tier applications, building, 757–758
User Interface layer, 758–761
archive.xml file, 1567
areas
plotting, customizing, 704–708
Argument property (PostBackOptions class), 1614
arrays, initializers, 941
Article control, 1649
Article.cs file, 1648
implementing on pages, 1650
Article.cs file, 1648
ArticleWithDefault control
ArticleWithDefault.cs file, 1652
implementing on pages, 1655
ArticleWithDefault.cs file, 1652
ascending sorts, 496
ASP.NET configuration sections
custom configuration sections, creating, 1546–1549
ConfigurationProperty attribute, 1548
validators, 1548
web.config registration, 1549
encrypted configuration sections, 1556–1557
creating programmatically, 1558, 1561
creating with aspnet_regiis command, 1557–1558
deploying, 1561–1564
DpapiProtectedConfigurationProvider, 1557
RsaProtectedConfigurationProvider, 1557
list of, 1515–1517
reading from current application, 1524–1525, 1527
ShowConfigApp.aspx page, 1524–1525
ShowConfigPath.aspx page, 1528
ShowConfigRelative.aspx page, 1525, 1527
ASP.NET Framework installation, 55–56
ASP.NET Membership. See Membership
ASP.NET pages
code-behind pages, 39–43
FirstPageCodeBehind.aspx page, 40–41
FirstPageCodeBehind.aspx.cs file, 41
partial classes, 42
presentation pages, 41–43
when to use, 43
control trees, 38–39
dynamic compilation, 34–35, 37
page events, handling, 44–46
page execution lifestyle, 44
Page.IsPostBack property, 46, 48
tracing, 52–55
ASP.NET parameters, DataSource controls, 353, 355
ASP.NET SQL Server Setup Wizard, 1238, 1326
ASPNetSurvey.aspx control, 326–327
aspnet_compiler.exe tool, 34
aspnet_regiis command, 290, 389, 1237, 1533, 1557–1558
aspnet_regsql tool, 1326, 1401–1402
ASPSurvey.aspx control, 325–326
adding to Bin folder, 753
adding to Global Assembly Cache, 754–757
definition of, 724
private, 15
referencing, 16–17
shared, 15
AssemblyBuilder class, 1455
AssemblyInfo.cs file, 755
assigning users to roles, 1249
AssociatedControlID property, 63–65
AssociatedUpdatePanelID property, 1731
associations, entities, 959–960
AsyncDataLayer component, 913–914
AsyncDataLayer.cs file, 913–914
AsyncFileUpload control, 1737
asynchronous ASP.NET pages, 914, 917
asynchronous database commands, 911–914
Asynchronous JavaScript and XML. See AJAX
asynchronous postbacks, 1707–1714
attacks, XPath Injection Attacks, 1246
attributeMapFailedPasswordAnswerCount( ) method, 1244
attributeMapFailedPasswordAnswerLockoutTime( ) method, 1244
attributeMapFailedPasswordAnswerTime( ) method, 1244
attributeMapPasswordAnswer( ) method, 1244
attributeMapPasswordQuestion( ) method, 1244
Attributes property (ListItem control), 441
Authenticate event, 1161
Authenticate( ) method, 1161, 1217, 1220
AuthenticateEventArgs class, 1161
authentication, 1149
custom authentication, Login control, 1160–1161
Forms authentication, 1206–1207
across applications, 1210–1214
across domains, 1214–1216
configuring, 1207–1208
cookieless Forms authentication, 1209–1210
enabling, 1148–1149
encryption and validation options, 1211–1214
FormsAuthentication class, 1216–1220
sliding expiration, 1210
User class, 1220–1221
Login controls, 1147
.NET Passport authentication, 1206
Windows authentication, 1206
authentication configuration section, 1515
AuthenticationType property (Identity object), 1221
authorization, 1149
by file location, 1224–1225
.gif image files, 1225
with images and other file types, 1225
by role, 1223
authorization configuration section, 1515
Authorization Manager, 1254
AuthorizationStoreRoleProvider, 1247, 1254–1256
AutoComplete control, 1737–1750
AutoCompletePageMethod.aspx page, 1740
AutoCompleteTextValue.aspx page, 1746
AutoCompleteType property (TextBox control), 70
AutoCompleteWebService.aspx page, 1744
AutoEventWireUp, 46
Autoformat, 719
AutoGenerateColumns property (GridView control), 525
AutoGenerateDeleteButton property, 597
AutoGenerateInsertButton property, 594
AutoGeneratePassword property (CreateUserWizard control), 1171
AutoGenerateSelectButton property (GridView control), 491
automatic postbacks (List controls), 452, 454
automatic properties, 730, 936
automatically saving Profiles, 1317, 1320
AutoPostBack property, 454
CheckBox control, 78–79
PostBackOptions class, 1614
RadioButton control, 81–83
TextBox control, 70–72
AutoPostBackListControl.aspx page, 453–454
AutoSiteMapProvider, 1106, 1109–1110
App_Code/AutoSiteMapProvider.cs file, 1106, 1109
Web.Config file, 1110
AutoSync property, 953
AutoUpgrade parameter, 232
Average( ) method, 951
AxisY axis, 700
BackGradientStyle property, 704
Background parameter, 232
backgrounds, Chart Control, 704, 706, 708
BackSecondaryColor property, 704
Bagus.aspx page, 1421–1422
bar charts, 694
base classes, 1575–1576
custom LINQ to SQL, 991–995, 999–1000
BaseValidator class, 167
batch updates, performing with SqlDataAdapter object, 892–893, 896
BeginExecuteNonQuery( ) method, 912
BeginExecuteReader( ) method, 912
BeginExecuteXmlReader( )method, 912
BeginGetMovies( ) method, 912
beginHandler parameter, 916
BeginProcessRequest( ) method, 1479–1480
BeginRequest event, 1129
BeginRequestEventArgs, 1703
BetterProfileProvider, 1327, 1329
BetterProfileProviderReport.aspx page, 1332
ShowBetterProfileProvider.aspx page, 1329
web.config file, 1328
BetterProfileProviderReport.aspx page, 1332
Bin folder, adding assemblies to, 753
Binary value, 1314
BinaryWrite( ) method, 189
Bindable design-time attribute, 1632
binding, 488. See also DataBound controls; DataSource controls
declarative databinding, 356
DivView control to SqlDataSource control, 1670–1671
List controls, 341
declarative databinding, 442–443
programmatic databinding, 443, 446
Menu controls
to Site Maps, 1027, 1029, 1031
to XML files, 1031–1034
ObjectDataSource control
to DataReaders, 774–776
to DataSets, 776–778
programmatic databinding, 356, 358
simplified databinding, supporting in templated controls, 1656–1660
TreeView controls
to Site Maps, 1057–1058
two-way databinding, supporting in templated controls, 1660, 1663, 1666
binding containers, 1652
Blog.aspx page, 1141
BodyFileName property (MailDefinition class), 1167
BodyTitle property, 259
BorderColor property (Label control), 61
BorderSkin-SkinStyle property, 704
BorderStyle property (Label control), 61
BorderWidth property (Label control), 61
BoundField class, 522–524, 526
BoundField fields, 571
BoundFields display, 571
BoundGridView.aspx file, 352–353
box plots, 694
breakpoints
configuring, 52
settings, 51
Browsable design-time attribute, 1632
browserCaps configuration section, 1516
browsers
cookies. See cookies
varying output cache by, 1346–1347
btnAdd_Click( ) method, 458, 1318
btnRemove_Click( ) method, 458
btnSearch_Click( ) method, 955
btnSubmit_Click( ) handler, 25, 28
BuffersReceived statistics, 854
BuffersSent statistics, 854
Build Deployment Package option, 1567
building pages with QueryExtender controls, 717, 719
BuildProviders, 1454
DataBuildProvider, 1458, 1461–1462, 1464
App_CodeMovie.data, 1458
DataBuildProvider.vb, 1463
movie.data.72cecc2a.vb, 1459
ShowDataBuildProvider.aspx, 1462
SimpleBuildProvider, 1454, 1456–1458
CodeDom, 1455
CodeSnippetCompileUnit, 1455
implementing on pages, 1457–1458
Mike class, 1456–1457
registering, 1456
SimpleBuildProvider.cs file, 1454
Web.Config file, 1456
BuildSiteMap( ) method, 1106, 1109, 1114
BuildTree( ) method, 911
BulletedList control, 101, 338, 470–474
BulletStyle property, 471
DisplayMode property, 473
ShowBulletedList.aspx page, 470–471
ShowBulletedListHyperLinks.aspx page, 474
ShowBulletedListImage.aspx page, 472–473
BulletStyle property (BulletedList control), 471
Business Logic layer, 761, 765
Button control, 84, 86, 101, 283, 454, 1158, 1614
Click event, 86
client scripts, 94–95
displaying on pages, 84
events, 86
Focus( ) method, 86
properties, 85
ButtonCommand.aspx page, 101
ButtonCounters.aspx page, 25–26
ButtonDefaultButton.aspx page, 100–101
ButtonExpando.aspx page, 95
ButtonField class, 522, 530, 533
ButtonField fields, 571
ButtonOnClientClick.aspx page, 94
buttons
Click event, 86
client scripts, 94–95
displaying on pages, 84
events, 86
Focus( ) method, 86
properties, 85
default buttons, specifying, 100–101
ImageButton control, 89–93
Click event, 93
client scripts, 94–95
displaying on pages, 89–90
Focus( ) method, 93
image maps, 91–92
properties, 93
Click event, 89
client scripts, 94–95
displaying on pages, 86–87
events, 89
Focus( ) method, 89
properties, 88–89
RadioButton control, 79, 82–83
automatic postback, 82–83
CheckedChanged event, 82
displaying on pages, 79
Focus( ) method, 82
properties, 81
ButtonSearch.aspx page, 96
ButtonSearchResults.aspx page, 97
ButtonSearchResultsTyped.aspx page, 99
ButtonSearchTyped.aspx page, 98
ButtonType property
ButtonField, 533
CommandField, 529
By CSS Class element, 1774
By Element element, 1774
By ID element, 1774
BytesReceived statistics, 854
BytesSent statistics, 854
C#, new features, 936, 938–939
anonymous types, 940
automatic properties, 936–937
extension methods, 948–949
generics, 941–944
initializers, 937–939
lambda expressions, 944–947
LINQ, 949–951
type inference, 939–940
cache. See also caching
caching database data with SqlDataSource control, 435, 437
GAC (Global Assembly Cache), 15
adding assemblies to, 754–755, 757
SQL cache
configuring/enabling, 1114
dependencies, 1399–1400
cache element, 1397
Cache-Control header, 1349
Cache-Control HTTP header, 1351
Cached property (ControlCachePolicy class), 1370
CacheDependency class, 1394
CacheDuration property, 1377
CacheItemPriority enumeration, 1396
CacheLocation.aspx page, 1350–1351
CachePageOutput.aspx page, 1337
CacheProfile attribute (%@ OutputCache % directive), 1361
cacheRolesInCookie attribute (web.config file), 1257
CacheSqlDataSource.aspx page, 435
caching, 1335–1336. See also cache
absolute expiration policy, 1390, 1392
adding items to cache, 1390
cache configuration, 1397
cache item priorities, 1396
dependencies, 1394–1396
Polling SQL cache dependencies, 1406–1407
Push SQL cache dependencies, 1415–1416
sliding expiration policy, 1393–1394
DataSource Caching, 1336, 1375–1376
absolute cache expiration policy, 1376–1377
DataSource control key dependencies, 1383, 1385
ObjectDataSource control, 1380, 1382
Polling SQL cache dependencies, 1405–1406
Push SQL cache dependencies, 1412, 1414
sliding cache expiration policy, 1378–1379
XmlDataSource control, 1382–1383
Page Output Caching, 1336–1337
%@ OutputCache % directive, 1337
CachePageOutput.aspx sample page, 1337
expiring programmatically, 1353–1357
HttpCachePolicy class, 1358–1360
Polling SQL cache dependencies, 1403–1404
profiles, 1360–1361
Push SQL cache dependencies, 1411–1412
specifying cache location, 1349, 1351
varying output cache by browser, 1346–1347
varying output cache by control, 1342, 1344
varying output cache by custom functions, 1347, 1349
varying output cache by header, 1345–1346
varying output cache by parameter, 1338–1342
Partial Page Caching, 1336, 1361–1362
caching dynamically loaded User Controls, 1373, 1375
ControlCachePolicy class, 1370–1371
file dependencies, 1372
post-cache substitution, 1362–1366
sharing User Control output cache, 1370
User Controls, 1366–1369
Polling SQL cache dependencies, 1399–1400
configuring applications for, 1402–1403
configuring databases for, 1400–1402
Data Caching, 1406–1407
DataSource Caching, 1405–1406
Page Output Caching, 1403–1404
Push SQL cache dependencies, 1408–1409
configuring applications for, 1410
configuring databases for, 1409–1410
Data Caching, 1415–1416
DataSource Caching, 1412, 1414
Page Output Caching, 1411–1412
records, 970
caching configuration section, 1516
Calendar control, 1737
calendars, displaying, 197
culture settings, 1433–1434
displaying calendars with, 195–196
multiple dates, selecting, 198–199
pop-up calendars, creating, 199
properties, 197–199
rendering calendars from databases, 202, 206–207
Calendar.skin file, 279
CalendarDatabase.aspx page, 203, 206
CalendarJS.aspx page, 200
calendars
displaying, 195–197
events, 197
multiple dates, selecting, 198–199
pop-up calendars, creating, 199
properties, 197–199
rendering from databases, 202, 206–207
CallbackValidator, 1548
calling
stored procedures, 933
Web services, 1776–1781
CanBeNull property, 953
CancelButtonClick event, 227
CancelCommand.aspx page, 404–405
CancelDestinationPageUrl property (Wizard control), 226
CancelImageUrl property (CommandField), 529
canceling command execution, 403, 406
CancelText property (CommandField), 530
candlestick charts, 694
Cascading Style Sheets. See CSS (Cascading Style Sheets)
CascadingDropDown control, 1737
CascadingDropDownsAjax.aspx page, 1681
CascadingDropDownsNoAjax.aspx page, 1679
Case Animation, 1763
catching roles in cookies, 1256–1258
Category design-time attribute, 1632
CategoryId property, 960
CausesValidation property
ButtonField, 533
CommandField, 530
CC property (MailDefinition class), 1167
Cells property (GridViewRow object), 549
changefreq element, 1117
ChangePassword control, 1186–1192
ShowChangePassword.aspx page, 1186, 1188
ChangePassword( ) method, 1231
ChangePassword.txt file, 1189
ChangePasswordEmail.aspx page, 1189
ChangePasswordQuestionAndAnswer( ) method, 1231
ChangePasswordTemplate.aspx page, 1191–1192
Chart control, 689–690
background and plotting areas, 704–708
displaying data with, 690–694
drill-down reports, 709–710
filtering, 694–698
sorting, 694–698
statistical formulas, 698, 700–701, 704
three-dimensional charts, 708
Chart functionality, 692
ChartAppearance.aspx page, 705
charts
areas, 690
lines, viewing, 692
three-dimensional, 708
types of, 694
check boxes, TreeView control, 1054, 1057
automatic postback, 78–79
CheckedChanged event, 78
displaying in forms, 76–77
Focus( ) method, 78
properties list, 78
CheckBoxAutoPostBack.aspx page, 78–79
CheckBoxField class, 522, 526–527
CheckBoxField fields, 571
CheckBoxList control, 79, 338, 467–470
Checked property
CheckBox control, 78
RadioButton control, 81
TreeNode object, 1073
CheckFileType( ) method, 184
checkPhysicalUrlAccess parameter, 1146
ChildNodes property (SiteMapNode class), 1093
Children property, 1134
ChildrenAsTriggers property, 1685
chtMovies_DataBound method, 694
CircleHotSpot class, 106
classes. See components; names of specific classes
Clear( ) method, 1284
ClearAllPools( ) method, 857
ClearPool( ) method, 857
ClearSelection( ) method, 458
Click event, 91
Button control, 86
handling, 22–28
ImageButton control, 93
ImageMap control, 111
LinkButton control, 89
Client value, 1349
client-side Ajax, 1675
client-side validation functions, associating with CustomValidator control, 156, 158
ClientLifecycle.aspx page, 1701
clients, calling Web services, 1776–1781
ClientSubmit property (PostBackOptions class), 1614
clientTarget configuration section, 1516
ClientValidationFunction property (CustomValidator control), 154
Clone( ) method, 1093
CloseConnection parameter (CommandBehavior object), 880
CLR (Common Language Runtime), 17–18
CLR integration, 918
CMS (Content Management System), 1123
code declaration blocks, 8
FirstPageCodeBehind.aspx page, 40–41
FirstPageCodeBehind.aspx.cs file, 41
partial classes, 42
presentation pages, 41–43
when to use, 43
CodeConfirmation.htm file, 1175
CodeDom, 1455
CodeSnippetCompileUnit, 1455
CollapseImageToolTip property (TreeView control), 1070
CollapseImageUrl property (TreeView control), 1070
CollapsiblePanel control, 1737
collections
configuration element collections, creating, 1551–1555
AdminUsersSection class, 1553
ShoppingCartSection class, 1551–1552
ShowAdminUsersSection.aspx page, 1556
control property collections, 1618
AddParsedSubObject( ) method, 1626
ContentRotator control example, 1618, 1620–1621
ControlBuilder class, 1626, 1629, 1631
ImageRotator control example, 1623, 1625
ItemRotator control example, 1621
ParseChildren attribute, 1618–1619, 1622, 1624–1625
ShowItemRotator.aspx page, 1622–1623
DeleteParameters, 783
FilterParameters, 783
initializers, 941
InsertParameters, 783
SelectParameters, 783
UpdateParameters, 783
Color Animation, 1764
ColorEditor, 1632
ColorPicker control, 1737
colors, rendering table of HTML colors, 1581–1582
ColorTable control, 1583
ColorTable.cs file, 1581–1582
column summaries, displaying (GridView control), 550, 552
columns, selecting, 965
Columns property (TextBox control), 70
Combine( ) method, 1135
CombineVirtualPaths( ) method, 1133
ComboBox control, 1737
Command class, 844
Button control, 86
ImageButton control, 93
LinkButton control, 89
Command object. See SqlCommand object
CommandArgument property
Button control, 85
ImageButton control, 93
LinkButton control, 88
PagerTemplate, 611
CommandField class, 522, 527, 529–530
CommandField fields, 571
CommandName property, 622, 672, 1158
Button control, 85
ButtonField, 533
ImageButton control, 93
LinkButton control, 88
PagerTemplate, 611
CommandRowStyle property (DetailsView control), 601
commands, executing. See also names of specific commands
database commands
canceling command execution, 403, 406
data source mode, changing, 397–398
database rows, filtering, 395–397
error handling, 398–403
GridViewHandleError.aspx page, 401–402
HandleError.aspx page, 399–400
inline SQL statements, 389, 391–392
SqlDataSource commands, 426
Delete command, 428
Select command, 428–435
Update command, 428
Comment property (MembershipUser class), 1231
comments, adding, 745
Common Language Runtime. See CLR (Common Language Runtime)
Compare( ) method, 1437
CompareAllValues, 828
CompareValidator control, 121, 146–151
ControlToCompare property, 146
ControlToValidate property, 146
data type checks, performing, 146
Display property, 127–128
form fields
comparing against another form field, 150
comparing against fixed values, 148
implementing on OrderForm page, 122, 124–125
IsValid property, 126–127
Operator property, 146
Text property, 146
Type property, 146
ValueToCompare property, 146
comparing string values, 1437–1438
compilation
component libraries, 750
vbc command-line compiler, 750–751
Visual Basic .NET Express, 751
Visual Studio .NET 2005, 752
dynamic compilation, 34–35, 37, 724–725
compilation configuration section, 1516
compilation element (web.config file), 1520
CompilationMode attribute, 35
complex profile properties, creating, 1310–1311, 1314–1316
component libraries, 749
compiling
with vbc command-line compiler, 750–751
with Visual Basic .NET Express, 751
with Visual Studio .NET 2005, 752
referencing assemblies
adding to Bin folder, 753
adding to Global Assembly Cache, 754–755, 757
components, 721
access modifiers, 744
accessing Profiles from, 1321–1322
AggregateCacheDependency, 1394
ASP.NET intrinsic objects in, 746–749
adding to Bin folder, 753
adding to Global Assembly Cache, 754–755, 757
definition of, 724
private, 15
referencing, 16–17
shared, 15
AuthenticateEventArgs, 1161
BaseValidator, 167
binding to ObjectDataSource control, 772, 774
BuildProviders, 1454–1464
CacheDependency, 1394
CircleHotSpot, 106
component libraries, 749–757
Configuration, 1536–1537
ConflictedMovies, 830–831
constructors, 733–736
Control, 1576
ControlBuilder, 1626, 1629–1631
ControlCachePolicy, 1370–1371
CultureInfo, 1434–1438
custom components, inheriting profiles from, 1308–1309
data access. See data access components
DBMovie, 920
definition of, 722
different language components, mixing in App_Code folder, 725–726
DpapiProtectedConfigurationProvider, 1557
dynamic compilation, 724–725
EmployeeData, 791–793
EmployeesDSSorting, 810
ExpressionBuilders, 1464–1469
FieldHelloWorld, 728–729
fields
declaring, 728–731
shared fields, 733
File, 10
FilterMovies, 815–816
FormsAuthentication, 1216–1220
Framework Class Library. See Framework Class Library
Graphics, 10
Guestbook, 820
HtmlTextWriter, 1580–1584
HTTP Handlers, 1470
anonymous HTTP Handlers, 1478–1481
Generic Handlers, creating, 1470–1473
IHttpHandler interface, 1475–1476
IHttpHandler interface, implementing, 1473
HttpApplication, 1482–1483
custom HTTP Modules, creating, 1487–1489
HttpCachePolicy, 1358–1360
HttpCookie, 1272–1273
HttpPostedFile, 180
HttpSessionState, 1284–1285
inheritance, 739–741
InsertMovie, 824–825
interfaces, declaring, 742–743
MailDefinition, 1167
Membership, 1227–1230
MembershipProvider, 741
MembershipUser, 1230–1231
methods
declaring, 726–728
overloading, 734–736
signatures, 735
Movie, 1382
Movie4, 865–868
Movie5, 870–872
MovieCollection, 772–773
MovieDataReader, 774–775
MovieDataSet, 776–778
MoviesByCategory, 826–827
MoviesDSPaging, 800–802
MustInherit classes, 739–741
namespaces, declaring, 736–738
PagePropertyParameter, 838–839, 841
PolygonHotSpot, 106
ProductConstructor, 736
properties
declaring, 728–731
shared properties, 733
PropertyHelloWorld, 730–731
Quote, 734
Random, 10
RandomDataLayer, 931–933
RandomRows, 929
RectangleHotSpot, 106
Roles, 1258
RsaProtectedConfigurationProvider, 1557, 1562, 1564
ServerTime, 731
ServerValidateEventArgs, 155
SharedHelloWorld, 726–728
SiteMap, 1090–1093
SiteMapNode, 1093–1095
SqlCacheDependency, 1394
SqlCacheDependencyAdmin, 1400
SqlConnectionStringBuilder, 848
SqlPipe, 928
User, 1220–1221
UsernameParameter, 835–837
viewing in Framework Class Library, 10
VirtualPathProvider, 1132–1135
WebConfigurationManager, 1523–1524
WebControl, 1576, 1584, 1586–1587
composite controls, building, 1587–1589
implementing on pages, 1588
RequiredTextBox.cs control, 1587
CompositeControl class, 1576
concatenating strings, 863
concurrency issues
data updates, 591–593
GridView control, 512–514
ObjectDataSource control, 828, 832
Concurrency.aspx page, 512–513, 591–592
Condition Animation, 1763
Condition( ) method, 984
CONFIG folder, 1512
configuration, 1511. See also Configuration API
ActiveDirectoryMembershipProvider, 1239, 1242–1244
ADAM (Active Directory Application Mode), 1240, 1242
AuthorizationStoreRoleProvider, 1254–1256
of breakpoints, 52
Data Caching, 1397
encrypted configuration sections, 1556–1557
creating programmatically, 1558, 1561
creating with aspnet_regiis command, 1557–1558
deploying, 1561–1564
DpapiProtectedConfigurationProvider, 1557
RsaProtectedConfigurationProvider, 1557
Forms authentication, 1207–1208
Profile providers, 1326–1327
Session state, 1291
Session state stores, 1290–1291
Site Maps
custom attributes, 1103–1105
merging, 1101–1102
Security Trimming, 1096–1098, 1100
SQL Server Session state, 1294–1297
SqlMembershipProvider, 1237–1239
SqlRoleProvider, 1247–1248, 1250–1252
State Server Session state, 1291–1294
web configuration files, storing connection strings in, 386–387
website configuration, 1511, 1513. See also Web.config file
ASP.NET configuration sections, 1515–1517
configuration settings, applying to particular paths, 1517–1518
configuration settings, locking, 1518, 1520
configuration settings, placing in external files, 1522–1523
custom application settings, 1520, 1522
Machine.config file, 1511
Microsoft Management Console (MMC) Snap-In, 1514
Web Site Administration Tool, 1513–1514
Web.config file, 1512
WindowsTokenRoleProvider, 1252–1254
Configuration API, 1523–1524
Configuration class, 1536–1537
configuration element collections, creating, 1551–1555
AdminUsersSection class, 1553
ShoppingCartSection class, 1551–1552
ShowAdminUsersSection.aspx page, 1556
configuration files, opening
on remote servers, 1533–1534, 1536
on same server, 1529–1530, 1533
configuration sections, modifying, 1539, 1541–1542
configuration sections, reading from current application, 1524–1525, 1527
ShowConfigApp.aspx page, 1524–1525
ShowConfigPath.aspx page, 1528
ShowConfigRelative.aspx page, 1525, 1527
custom configuration sections, creating, 1546, 1548–1549
ConfigurationProperty attribute, 1548
validators, 1548
web.config registration, 1549
new websites, provisioning, 1543, 1546
WebConfigurationManager class, 1523–1524
Configuration class, 1536–1537
configuration element collections, creating, 1551–1555
AdminUsersSection class, 1553
ShoppingCartSection class, 1551–1552
ShowAdminUsersSection.aspx page, 1556
configuration files, 1511, 1513. See also Machine.config file; web.config file
opening on remote servers, 1533–1536
opening on same server, 1529–1530, 1533
ShowConfigMachine.aspx page, 1529–1530
ShowConfigSites.aspx page, 1531
ConfigurationProperty attribute, 1548–1549, 1554
ConfigurationSaveMode parameter (Save( ) method), 1541
confirm( ) method, 622
confirmation codes, entering, 1175
ConfirmButton control, 1737
ConfirmCode.aspx page, 1176
ConfirmPassword ID, 1180, 1192
ConflictDetection property, 591
ObjectDataSource control, 828
SqlDataSource control, 513
ConflictedMovies component, 830–831
ConflictedMovies.cs file, 830–831
connected data access. See data access components
connecting to databases, SqlDataSource control, 380
connection strings, encrypting, 388–389
connection strings, storing in Web.Config file, 386–387
ODBC, 384
OLE DB, 384
Connection class, 844
Connection object. See SqlConnection object
Connection Reset, 857
connection strings
encrypting, 388–389
security, 382
storing in Web.Config file, 386–387
Connection Timeout, 857
connectionPassword( ) method, 1243
connectionProtection attribute, 1243
connectionProtection( ) method, 1243
connections
Ajax
asynchronous postbacks, 1707–1714
debugging, 1675–1677
execution life cycles, 1697–1707
handling errors, 1714–1717, 1720
JavaScript, 1694–1697
overview of, 1674–1675
server-side versus client-side, 1675
Timer controls, 1724–1728
UpdatePanel control, 1677–1682, 1685–1688, 1692–1693
UpdateProgress control, 1728–1731
WCF Data Services, 1001
data context, 1007–1009
service references, 1002–1007
connectionStringName attribute, 1243
connectionStringName( ) method, 1243
ConnectionStrings property
Configuration class, 1536
WebConfigurationManager class, 1523
ConnectionStringsExpressionBuilder class, 1465
connectionUsername( ) method, 1243
ConnectOracle.aspx page, 385
Constant( ) method, 984
constrained routes, 1144–1145
constructors
declaring, 733–734
overloading, 734–736
shared constructors, 734
container ControlDesigners, creating, 1636, 1639–1640
Container keyword, 1652
containers
binding containers, 1652
key containers
creating, 1562
exporting contents to XML files, 1563
granting access to, 1563
web.config file, 1562
Content control, 242
Content folder, 1504
Content Management System. See CMS (Content Management System)
ContentLength property (FileUpload control), 180
ContentPlaceHolder controls, 239–240, 242
ContentRotator control
ContentRotator.cs file, 1618
ShowContentRotator.aspx page, 1620–1621
ContentRotator.cs file, 1618
ContentTemplateContainer property, 1686
ContentType property (FileUpload control), 180
context connections, 928
Control class, 1576
Control State, 33
supporting in custom controls, 1599
ControlStateControl.vb, 1599
ShowControlState.aspx page, 1601
ControlBuilder class, 1626, 1629, 1631
methods, 1626
ServerTabs control example, 1626, 1629–1631
ControlCachePolicy class, 1370–1371
ControlDesigners, 1636
container ControlDesigners, creating, 1636, 1639–1640
ControlFilterExpression, querying, 712
ControlID property (ControlParameter object), 410
controllers
access, 1506
MVC Framework, 1502
Controllers folder, 1504
ControlParameter object, 353, 410–412, 414
ObjectDataSource control, 787
properties, 410
ShowControlParameter.aspx page, 410–411
ShowPageControlParameter.aspx page, 413–414
controls, 19. See also events
AdvancedCheckBox, 1614–1616
AJAX Control Toolkit, 1737–1739
Animation, 1759–1764
AutoComplete, 1739–1750
FilteredTextBox, 1754–1756
MaskedEdit, 1756–1759
UpdatePanelAnimation, 1764–1768
AjaxValidator, 171–174
Article, 1648–1650
ArticleWithDefault, 1652, 1655
Click events, handling, 22, 25–28
client scripts, 94–95
cross-page posts, 96–100
Calendar, 195–199
culture settings, 1433–1434
rendering calendars from databases, 202, 206–207
ChangePassword, 1186–1192
Chart Control. See Chart Control
CheckBox, 76–79
CheckBoxList, 79
ColorTable, 1583
CompareValidator, 121
ContentRotator, 1618–1621
Control State, 33
control trees, 38–39
ControlDesigners, 1636
container ControlDesigners, creating, 1636, 1639–1640
CreateUserWizard, 1162
adding steps to, 1181–1183
automatically generating passwords, 1171–1174, 1177
configuring form fields, 1163–1166
properties, 1162–1163
redirecting users, 1169–1170
sending email messages, 1166–1169
templates, 1177–1181
culture settings, 1433–1434
custom controls, 1576
CustomLinkButton, 1606–1610
CustomTextBox, 1602–1605
CustomValidator, 122
DataBound. See DataBound controls
DataList. See DataList controls
DataPager, 681–688
DataSource. See DataSource controls
declaring standard controls, 20
design-time attributes, 1631–1635
DetailsView. See DetailsView controls
DivView, 1667–1671
DropDownList, setting cultures, 1423, 1425
EntityDataSource, 994
FileUpload, 180
saving files to database, 185, 188–190, 193
saving files to filesystem, 181, 184
uploading large files, 189–195
deleting data with, 619, 621–622
displaying data with, 605–606
editing data with, 612–616
inserting data with, 616–619
paging through data with, 607–609, 612
GradientPanel, 1637–1639
GridView. See GridView controls
HTML controls, declaring, 21–22
HtmlMeta, 258
HyperLink, 118–119
ImageButton. See ImageButton controls
ImageMap, 106–111
ImageRotator, 1623–1625
ItemRotator, 1621–1623
Label, 60–65
LengthValidator, 168–169
LinkButton. See LinkButton controls
List. See List controls
ListView. See ListView controls
Literal, 65–68
Localize, 1450–1451
Login. See Login controls
LoginName, 1185–1186
LoginView, 1199–1203
Menu. See Menu controls
modifying in Master Pages, 261–263
MovieView, 1633–1635
MultiView. See MultiView controls
navigation, 1016
NewsRotator, 1364
ObjectDataSource. See ObjectDataSource controls
Pager, 1610–1613
Partial Page Caching, 1366–1367, 1369
PasswordRecovery, 1193–1199
Product, 1657–1659
QueryExtender, 711–719
RadioButtonList, 83
RangeValidator, 121
RegularExpressionValidator, 122
SiteMapDataSource, 1084
binding Menu controls to, 1087–1088
binding TreeView controls to, 1085–1086
Default.aspx page, 1085–1086
Products/Default.aspx page, 1089
properties, 1086–1090
Services/Default.aspx page, 1087
Web.sitemap file, 1084–1085
SiteMapPath, 1013
declaring in pages, 1013, 1015
properties, 1015–1016
templates, 1018–1020
SqlDataSource. See SqlDataSource control
SqlHierarchicalDataSource, 1011, 1077
classes, 1080–1081
ShowMenu.aspx page, 1078–1079
ShowTreeView.aspx page, 1079
Substitution, 1362–1363
templated controls, 1647–1648
default templates, creating, 1652–1655
ITemplate interface, implementing, 1648–1652
simplified databinding, supporting, 1656–1660
two-way databinding, supporting, 1660, 1663, 1666
templated databound controls, 1666
base classes, 1667
TextBox. See TextBox controls
TreeView. See TreeView controls
UpdatePanel. See UpdatePanel controls
UpdateProgress, Ajax, 1728–1729, 1731
User. See User controls
validation controls. See validation controls
ValidationSummary, 122, 162, 166
Display property, 127–128
implementing on OrderForm page, 122, 124–125
IsValid property, 126–127
varying output cache by, 1342, 1344
View, 220
View State, 28–33
XmlDataSource, DataSource caching, 1382–1383
ControlStateControl.cs file, 1599
ControlToCompare property (CompareValidator control), 146
ControlToValidate property
CompareValidator control, 146
CustomValidator control, 154
RangeValidator control, 144
RequiredFieldValidator control, 139
Convert( ) method, 984
ConvertEmptyStringToNull property
BoundField, 525
Parameter object, 406
CookieDomain property (FormsAuthentication class), 1216
cookieless attribute (sessionState element), 1289
cookieless configuration option (Forms authentication), 1207
cookieless Forms authentication, 1209–1210
cookieless Session state, 1288–1290
CookieMode property
FormsAuthentication class, 1216
HttpSessionState class, 1284
cookieName attribute, 1257
CookieName property (CookieParameter object), 415
CookieParameter object, 353, 415, 417
ObjectDataSource control, 787
properties, 415
Vote.aspx page, 415
cookiePath attribute, 1257
cookieProtection attribute, 1257
cookieRequireSSL attribute, 1257
cookies, 1264–1265
catching roles in, 1256–1258
deleting, 1273–1275
HttpCookie class, 1272–1273
multi-valued cookies, 1275, 1278–1279
creating, 1275
reading, 1278–1279
persistent cookies, 1264, 1268–1269
properties, 1272–1273
security restrictions, 1265–1266
session cookies, 1264, 1266, 1268
cookieSlidingExpiration attribute, 1257
CookiesSupported property (FormsAuthentication class), 1216
cookieTimeout attribute, 1257
copying
encrypted configuration files, 1561
URLs, 1137
Count property
Cache object, 1387
HttpSessionState class, 1284
Count( ) method, 951
counting user sessions, 1287
CountMoviesInCategory stored procedure, 392
Create, 1492
Create Deployment Package as a ZIP File option, 1567
CREATE PROCEDURE command, 931
Create Project dialog box, 1502
CREATE TYPE command, 924
Create( ) method, 943
CreateChildControls( ) method, 1587, 1590, 1650, 1654, 1659, 1669
createPersistentCookie attribute, 1257
CreateQuery( ) method, 1004
CreateRole( ) method, 1258
CreateSpecificCulture( ) method, 1434
CreateUser( ) method, 1227, 1245
CreateUserWizard control, 1151, 1162, 1165–1166
automatically generating passwords, 1171–1174, 1177
CodeConfirmation.htm file, 1175
ConfirmCode.aspx page, 1176
CreateUserWizardCodeConfirmation.aspx page, 1173
CreateUserWizardPasswordConfirmation.aspx page, 1172
PasswordConfirmation.htm file, 1173
configuring form fields, 1163, 1165–1166
properties, 1162–1163
redirecting users, 1169–1170
CreateUserWizardReturn.aspx page, 1170
LoginReturn.aspx page, 1169
sending email messages, 1166–1169
CreateUserWizardCodeConfirmation.aspx page, 1173
CreateUserWizardEmail.aspx page, 1166
CreateUserWizardExtra.aspx page, 1181, 1183
CreateUserWizardPasswordConfirmation.aspx page, 1172
CreateUserWizardReturn.aspx page, 1170
CreateUserWizardShort.aspx page, 1165–1166
CreateUserWizardTemplate.aspx page, 1178–1180
CreationDate property (MembershipUser class), 1231
credentials element, 1218
cryptographically strong keys, generating, 1214
CSS (Cascading Style Sheets), 199
adding to Themes, 281–284
App_ThemesStyleThemeSimpleStyle.css file, 281–282
multiple Cascading Style Sheets, 285
ShowSimpleCSS.aspx file, 282–283
changing page layouts with, 285–290
Float.css file, 287–288
floating layouts, 287–288
ShowLayout.aspx file, 285, 287
CSS Zen Garden, 290
Internet Explorer extensions, 1584
Login controls, 1154
Master Pages, 240
Themes. See Themes
transition filters, 627
CSS Zen Garden, 290
CssClass property
DataList control, 657
DetailsView control, 601
GridView control, 519
Label control, 61
Culture property, 1420–1421
CultureInfo class, 1434
comparing and sorting string values, 1437–1438
formatting string values, 1435–1436
methods, 1434
cultures
Culture property, 1420–1421
CultureInfo class, 1434
comparing and sorting string values, 1437–1438
formatting string values, 1435–1436
methods, 1434
detecting automatically, 1428, 1431–1432
SelectCultureAuto.aspx page, 1431–1432
ShowAcceptLanguages.aspx page, 1430
effect on ASP.NET controls, 1433–1434
global resources
retrieving programmatically, 1448–1449
strongly typed localization expressions, 1449–1450
local resources, 1438
explicit localization expressions, 1438–1441
implicit localization expressions, 1441–1443
page properties, 1443–1444
retrieving programmatically, 1444–1445
Localize control, 1450–1451
names, 1420
neutral cultures, 1420
setting in web configuration files, 1432–1433
setting manually, 1421–1423, 1425, 1428
%@ Page % directive, 1421–1422
DropDownList control, 1423, 1425
web configuration files, 1427–1428
specific cultures, 1420
UICulture property, 1420–1421
current URL, determining, 1125
Current value, 901
CurrentNode property (SiteMap class), 1090
CurrentNodeStyle object, 1016
CurrentNodeTemplate, 1018
CurrentPassword ID, 1192
CursorsOpen statistics, 854
custom algorithms, 698
custom attributes, Site Maps, 1103–1105
custom authentication, Login control, 1160–1161
custom components, inheriting profiles from, 1308–1309
custom configuration sections, creating, 1546, 1548–1549
ConfigurationProperty attribute, 1548
validators, 1548
web.config registration, 1549
custom configuration settings, 1520, 1522
custom controls, 1576
AddressForm control, 311, 315, 317
Checkout.ascx example, 315, 317
AJAX (Asynchronous JavaScript and XML), 317, 320
ASPNetSurvey control, 326–327
ASPSurvey control, 325–326
base classes, 1575–1576
collections, 1618
AddParsedSubObject( ) method, 1626
ContentRotator control example, 1618, 1620–1621
ControlBuilder class, 1626, 1629, 1631
ImageRotator control example, 1623, 1625
ItemRotator control example, 1621
ParseChildren attribute, 1618–1619, 1622, 1624–1625
ShowItemRotator.aspx page, 1622–1623
composite controls, building, 1587–1589
implementing on pages, 1588
RequiredTextBox.cs control, 1587
Control State, supporting, 1599
ControlStateControl.vb, 1599
ShowControlState.aspx page, 1601
ControlDesigners, 1636
container ControlDesigners, creating, 1636, 1639–1640
creating, 300–302
design-time attributes, 1631–1635
exposing events from, 307, 309, 311
exposing properties from, 304–306
PropertyRandomImage.ascx file, 304–305
ShowDeclarative.ascx file, 305
ShowProgrammatic.ascx file, 306
fully rendered controls, building, 1576, 1579–1581, 1584, 1587
FullyRenderedControl.cs file, 1577
FullyRenderedWebControl.cs file, 1578
HtmlTextWriter class, 1580–1584
ShowFullyRenderedControl.aspx page, 1577–1578
ShowFullyRenderedWebControl.aspx page, 1579–1580
WebControl TagKey property, 1584, 1586–1587
hybrid controls, building, 1590–1595
Login.cs file, 1590
LoginStandards.cs file, 1593
loading dynamically, 320–321
%@ Reference %> directive, 322, 325, 327
LoadControl( ) method, 320
multi-page wizards, creating, 327–329, 331, 336
ShowFeaturedProduct.aspx example, 320–321
MultiSelectList, 475
MultiSelectList.js, 481–482
ShowMultiSelectList.aspx page, 482, 484
postback data, handling, 1602, 1604, 1606
CustomTextBox example, 160–1605
IPostbackDataHandler interface, 1602
LoadPostData( ) method, 1602, 1604
RaisePostDataChangedEvent( ) method, 1602, 1604
RegisterRequiresPostBack( ) method, 1604
postback events, handling, 1606–1616
CustomLinkButton example, 1606, 1608
event arguments, passing, 1610, 1613
IPostBackEventHandler interface, 1606, 1608
RaisePostBackEvent( ) method, 1606
PropertyRandomImage control, 304
RandomImage example
RandomImage.ascx, 300–301
ShowRandomImage.ascx, 301–302
RandomQuotation.ascx, 318–319
ShowRandomQuotation.ascx, 319
registering in web configuration file, 303
TabStrip control
TabClick event handler, 311
View State, supporting, 1596
ShowViewState.aspx page, 1598
ViewStateControl.cs file, 1596
custom fields, GridView control
DeleteButtonField, 560, 562–563
ValidatedField, 563–566
custom functions, varying output cache by, 1347, 1349
custom HTTP Modules, creating, 1487–1489
QueryStringAuthenticationModule.cs file, 1487
Web.Config file, 1488
custom LINQ to SQL base class, 991–995, 999–1000
custom membership providers, creating, 1244–1246
custom ObjectDataSource controls, creating, 832–833, 835
custom paging interface (GridView control), 504, 506, 509
PageGridPreviousNext.aspx page, 505–506
PageTemplateGrid.aspx page, 507, 509
custom parameter objects, creating, 835–837, 839, 841
page property parameters, 838–839, 841
username parameters, 835–837
custom Profile providers, creating, 1327–1331
custom sorting interface (GridView control), 497, 499, 501
custom validation controls, creating, 167
AjaxValidator control, 170, 173–174
AjaxValidator.js file, 173–174
AjaxValidator.cs file, 171
ShowAjaxValidator.aspx page, 174
BaseValidator class, 167
LengthValidator control, 168–170
LengthValidator.cs file, 168
ShowLengthValidator.aspx page, 169
Custom value, 1291
customErrors configuration section, 1516
CustomExpression, querying, 712
Customize Line Images, 1071
customizing
CreateUserWizard control, 1178
HttpApplication class, 1483
Login controls, 1158
paging interface (DetailsView control), 580–583
PagerSettings class, 581
ShowPagerSettings.aspx page, 580–581
ShowPagerTemplate.aspx page, 582–583
CustomLinkButton control, 1610
CustomLinkButton.cs file, 1606
ShowCustomLinkButton.aspx page, 1608
CustomLinkButton.cs file, 1606
customProviderData attribute, 1298, 1309
CustomSorting.aspx page, 500–501
CustomTextBox control
CustomTextBox.cs file, 1602, 1604
ShowCustomTextBox.aspx page, 1605
CustomTextBox.cs file, 1602, 1604
CustomValidator control, 122, 148, 154
client-side validation functions, 156, 158
ClientValidationFunction property, 154
ControlToValidate property, 154
Display property, 127–128
empty form fields, validating, 158–159
implementing on OrderForm page, 122, 124–125
IsValid property, 126–127
ServerValidateEventArgs class, 155
string lengths, checking, 154, 156, 158
Text property, 154
timed tests, creating, 160
database-driven web application, 375–376
DataBound controls, 337
hierarchical DataBound controls, 345, 347–348
List controls. See list controls
one-way databinding expressions, 362–364, 366
tabular DataBound controls, 341–342, 345
two-way databinding expressions, 366–368
DataSource controls. See DataSource controls
programmatic databinding, 356, 358
SQL Server 2005 Express, 369–370
connecting to, 372
Database Explorer, 370
keywords, 373
Management Studio Express, 370
Server databases, 371–372
SQLCMD, 370–371
data access components, 843–845
AsyncDataLayer, 913–914
asynchronous ASP.NET pages, 914, 917
asynchronous database commands, 911–912, 914
building
Movie1.cs file, 845–846
ShowMovie1.aspx page, 847–848
CLR integration, 918
Command object, 859
executing commands with parameters, 863–864
executing commands without parameters, 860, 862
executing stored procedures, 865–872
returning resultsets, 876, 878–881
returning single values, 874, 876
Connection object, 848–849
Connection pooling, 856–858
provider statistics, retrieving, 849–856
data access layers, creating with user-defined types, 924, 926–927
DataAdapter object, 889
batch updates, performing, 892–893, 896
displaying data with, 890, 892
populating DataTables with, 889–890
DataLayer1
DataLayer1.cs file, 882
ShowDataLayer1.aspx page, 885
DataReader object, 881
Multiple Active Results Sets (MARS), 888
multiple resultsets, returning, 882, 884
Read( ) method, 881
DataTable object, 896
building programmatically, 896, 898
DataRow states and versions, 901, 903, 906
DataView object, 906
DBDataLayer
DBDataLayer.cs file, 924–925
ShowDBDataLayer.aspx page, 926–927
Movie1
Movie1.cs file, 845–846
ShowMovie1.aspx page, 847–848
Movie2
Movie2.cs file, 850–851
ShowMovie2.aspx page, 852
Movie3
ShowMovie3.aspx, 862
Movie6
Movie6.cs file, 877–878
ShowMovie6.aspx page, 878–879
Movie7
Movie7.cs file, 879
ShowMovie7.aspx page, 880
Movie8.cs file, 890
ShowMovie8.aspx page, 891–892
Movie9
Movie9.cs file, 902
ShowMovie9.aspx page, 904, 906
stored procedures, creating, 928
CREATE PROCEDURE command, 931
executing from ASP.NET pages, 931–932
stored procedure assembly, creating, 928, 930
stored procedure assembly, registering, 930
user-defined types, creating with .NET Framework, 919
CREATE TYPE command, 924
user-defined type assembly, creating, 920, 923
user-defined type assembly, registering, 923
creating with user-defined types, 924–927
absolute expiration policy, 1390, 1392
adding items to cache, 1390
cache configuration, 1397
cache item priorities, 1396
dependencies, 1394–1396
Polling SQL cache dependencies, 1406–1407
Push SQL cache dependencies, 1415–1416
sliding expiration policy, 1393–1394
data context, applying WCF Data Services with, 1007–1009
data controls, 19
data keys, GridView control, 492–495
data points, 690
data source modes, changing, 397–398
data source paging, 503, 686, 688, 798–805
GetPagedMovies stored procedure, 803
GetPagedMovies2005 stored procedure, 805
MoviesDSPaging component, 800–802
ShowDSPaging.aspx page, 798–799
data source sorting, 808–809, 811–812
EmployeesDSSorting component, 810
GetSortedEmployees stored procedure, 811–812
ShowDSSorting.aspx page, 808–809
data sources, Connection objects, 848–849
provider statistics, retrieving, 849–856
data types
user-defined types, creating data access layers with, 924, 926–927
user-defined types, creating with .NET Framework, 919
CREATE TYPE command, 924
user-defined type assembly, creating, 920, 923
user-defined type assembly, registering, 923
validating, 146
DataAdapter object, 888–889
batch updates, performing, 892–893, 896
displaying data with, 890, 892
populating DataTables with, 889
DataAlternateTextField property (ImageField), 543
DataAlternateTextFormatString property (ImageField), 543
Database Explorer (SQL Server), 370
database-driven web application, 375–376
databases. See also ADO.NET; data types
asynchronous ASP.NET pages, 914, 917
asynchronous database commands, 911–912, 914
binding Menu controls to, 1035, 1040
binding TreeView controls to, 1061, 1064
caching with SqlDataSource control, 435, 437
CLR integration, 918
command execution
data source mode, changing, 397–398
database rows, filtering, 395–397
inline SQL statements, 389, 391–392
for Polling SQL cache dependencies, 1400–1402
for Push SQL cache dependencies, 1409–1410
connecting with SqlDataSource control, 380
connection strings, encrypting, 388–389
connection strings, storing in Web.Config file, 386–387
ODBC, 384
OLE DB, 384
data filtering, 813–816
data source paging, 798–805
GetPagedMovies stored procedure, 803
GetPagedMovies2005 stored procedure, 805
MoviesDSPaging component, 800–802
ShowDSPaging.aspx page, 798–799
data source sorting, 808–809, 811–812
EmployeesDSSorting component, 810
GetSortedEmployees stored procedure, 811–812
ShowDSSorting.aspx page, 808–809
data, storing in Session state, 1281, 1284
database-driven web application, 375–376
deploying, 1571–1572
dta source connections. See SqlConnection object
records
viewing, 664
rendering calendars from, 202, 206–207
rows, filtering, 395–397
FileHandler.aspx page, 188–189
FileUploadDatabase.aspx page, 185, 187
SQL Server Express, 1408
Server databases, 371–372
standard commands, 964–990
storing advertisements in, 212–213
user interface paging, 795, 797–798
user interface sorting, 805, 807–808
DataBind( ) method, 358, 1004, 1652, 1670
DataBinder.Eval( ) method, 839, 1005
databinding. See binding
DataBinding event, 547, 598, 633
DataBinding event handler, 640
databinding expressions
two-way, 366–368
DataBound controls, 337
binding to DataSource controls, 351, 353
DataList, 640
displaying data with, 640, 642–643
formatting data with, 657, 659
multi-column tables, creating, 644–645
properties, 657
selecting data with, 648–651
hierarchical DataBound controls, 345–348
Menu, 346
Movies.xml page, 347–348
ShowHierarchicalDataBound.aspx page, 346–347
TreeView, 346
binding, 341
binding to data sources, 442–443, 446
BulletedList, 338, 470–471, 473–474
CheckBoxList, 338, 467, 469–470
EasyListBox, 460
list items, appending, 450, 452
list items, declaring, 439, 441
list items, reordering, 454, 458
ListControl class, 439
MultiSelectList (custom control), 475, 480–482, 484
selected list items, determining, 446, 448–450
ShowListControls.aspx page, 339
one-way databinding expressions, 362–366
Repeater control, 623
displaying data with, 624–625, 627
templates, 627–633
tabular DataBound controls, 341–342, 345
DataList, 341
DetailsView. See DetailsView control
FormView, 342
GridView, 341
Repeater, 342
ShowTabularDataBound.aspx page, 343, 345
templated databound controls, 1666
base classes, 1667
two-way databinding expressions, 366–368
DataBuildProvider, 1458, 1461–1462, 1464
App_CodeMovie.data, 1458
DataBuildProvider.vb, 1463
movie.data.72cecc2a.vb, 1459
ShowDataBuildProvider.aspx, 1462
DataBuildProvider.cs file, 1463
DataColumn.Expression property, 397, 817
DataContext.ExecuteCommand( ) method, 983
DataContext.GetCommand( ) method, 990
|DataDirectory| keyword, 374
DataField property (BoundField), 525
DataFormatString property (BoundField), 525
DataGrid control, 342, 485. See also GridView control
DataImageUrlField property (ImageField), 543
DataImageUrlFormatString property (ImageField), 543
DataItem property
GridViewRow object, 549
IDataItemContainer interface, 1656
DataItemIndex property
GridViewRow object, 549
IDataItemContainer interface, 1656
DataKeyField property, 651
DataKeyNames property, 492, 512, 598, 979
DataLayer1 component
DataLayer1.cs file, 882
ShowDataLayer1.aspx page, 885
DataLayer1.cs file, 882
displaying data with, 640, 642–643
RepeatLayout property, 643
ShowDataList.aspx page, 640, 642
ShowFlowDataList.aspx page, 643
formatting data with, 657, 659
multi-column tables, creating, 644–645
properties, 657
selecting data with, 648–651
AlternatingItemTemplate, 645
EditItemTemplate, 646
FooterTemplate, 646
HeaderTemplate, 646
ItemTemplate, 645
SelectedItemTemplate, 646
SeparatorTemplate, 645
ShowDataListTemplates.aspx page, 646, 648
DataManipulator property, 694
DataMember property (AdRotator control), 207
DataNavigateUrlFields property (HyperLinkField), 539
DataNavigateUrlFormatString property (HyperLinkField), 539
DataPager control, 681–683
interfaces, customizing, 684, 686
DataPagerDataSource.aspx page, 686
DataPagerListView.aspx page, 682
DataPagerTemplate.aspx page, 684
DataReader class, 844
binding to ObjectDataSource control, 774–776
Multiple Active Results Sets (MARS), 888
multiple resultsets, returning, 882, 884
Read( ) method, 881
DataRows
states and versions, 901, 903, 906
DataSet object, 397, 889, 908, 911, 1281
binding to ObjectDataSource control, 776–778
DataSource Caching, 1336, 1375–1376
absolute cache expiration policy, 1376–1377
DataSource control key dependencies, 1383, 1385
ObjectDataSource control, 1380, 1382
Polling SQL cache dependencies, 1405–1406
Push SQL cache dependencies, 1412, 1414
sliding cache expiration policy, 1378–1379
XmlDataSource control, 1382–1383
DataSource controls, 351
AccessDataSource, 351
binding DataBound controls to, 351, 353
binding List controls to
declarative databinding, 442–443
programmatic databinding, 443, 446
binding to components, 772, 774
binding to DataReaders, 774–776
binding to DataSets, 776–778
binding to Web Services, 779–780, 783
custom ObjectDataSource controls, 832–833, 835
custom parameter objects, creating, 835–837, 839, 841
data filtering, 813–816
data source paging, 798–805
data source sorting, 808–809, 811–812
parameters, 783, 785, 789–790, 793–795, 818, 820, 822
properties, 772
user interface paging, 795, 797–798
user interface sorting, 805, 807–808
SiteMapDataSource, 351
SqlDataSource. See SqlDataSource control
XmlDataSource, 351
DataSource property (AdRotator control), 207
DataSourceAbsoluteCache.aspx page, 1376
DataSourceID property (AdRotator control), 207
DataSourceKeyDependency.aspx page, 1384–1385
DataSourceMode property, 1376
DataSourceSlidingCache.aspx page, 1378–1379
building programmatically, 896, 898
DataRow states and versions, 901, 903, 906
populating with SqlDataAdapter object, 889–890
DataTextField property
ButtonField, 533
HyperLinkField, 539
DataTextFormatString property
ButtonField, 533
HyperLinkField, 539
DataView object, 889, 906, 1282
DataView.RowFilter property, 397, 817
DayNameFormat property (Calendar control), 197
DbCommand class, 845
DbConnection class, 845
DBDataLayer component
DBDataLayer.cs file, 924–925
ShowDBDataLayer.aspx page, 926–927
DBDataLayer.cs file, 924–925
DbDataReader class, 845
DBMovie class, 920
DBMovie.cs file, 920
DbType property, 953
Deactivate event
View control, 220
WizardStep, 227
debugging
Ajax, 1675–1677
checking if enabled, 1524–1525, 1527
disabling, 50
jQuery, 1770
declarative databinding, 356, 442–443
DeclarativeDataBinding.aspx page, 442–443
declaring
constructors, 733–734
controls
HTML controls, 21–22
standard controls, 20
fields, 728–731
interfaces, 742–743
methods, 726–728
namespaces, 736–738
partial classes, 738
properties, 728–731
Decrypt( ) method, 1217
decryptionKey attribute, 1211, 1294, 1296
decryptionKey, generating, 1234
default buttons, specifying, 100–101
default content (Master Pages), 242
ContentPlaceHolder controls, 242
DefaultContent.aspx file, 245
DefaultMaster.master file, 242, 244
default namespaces, 14
default parameters, routes, 1143–1144
Default Skins, creating, 270
ShowSkin.aspx file, 271–272
SimpleTextBox.skin file, 270
default templates, creating, 1652–1656
Default value, 901
Default.aspx page, 1085, 1125–1126, 1130, 1132
DefaultButton property (Panel control), 114
DefaultContent.aspx file, 245
DefaultEvent design-time attribute, 1631
DefaultMaster.master file, 242, 244
DefaultMode property, 594
DefaultModel.RegisterContext method, 1494
DefaultProperty design-time attribute, 1631
defaultUrl configuration option (Forms authentication), 1207
DefaultUrl property (FormsAuthentication class), 1216
defaultValue attribute, 1298
DefaultValue design-time attribute, 1632
DefaultValue parameter, 1548–1549
DefaultValue property (Parameter object), 406
DefaultView property, 906
defining chart areas, 690
delete button fields, creating, 560, 562–563
Delete( ) method, 981
DeleteAllCookies.aspx page, 1274
DeleteButtonField class, 560, 562–563
DeleteButtonField.cs file, 561–562
DeleteCommand object, 892
DeleteCookie( ) method, 1257–1258
DeleteCookie.aspx page, 1273–1274
Deleted value, 901
DeleteImageUrl property (CommandField), 530
DeleteInactiveProfiles( ) method, 1323
DeleteMethod property (ObjectDataSource control), 772
DeleteParameters collection, 783
DeleteProfile( ) method, 1323
DeleteProfiles( ) method, 1323
DeleteRole( ) method, 1258
DeleteText property (CommandField), 530
DeleteUser( ) method, 1227
deleting
cookies, 1273–1275
data
DetailsView control, 597–598
FormView control, 619, 621–622
inactive profiles, 1324
user locks, 1236
Demo folder, 1508
DemoController class, 1508
dependencies
Data Caching, 1394–1396
DataSource control key dependencies, 1383, 1385
key dependencies, 1355
Page Output Caching, 1351, 1353
Partial Page Caching, 1372
Polling SQL cache dependencies, 1399–1400
configuring applications for, 1402–1403
configuring databases for, 1400–1402
Data Caching, 1406–1407
DataSource Caching, 1405–1406
Page Output Caching, 1403–1404
Push SQL cache dependencies, 1408–1409
configuring applications for, 1410
configuring databases for, 1409–1410
Data Caching, 1415–1416
DataSource Caching, 1412, 1414
Page Output Caching, 1411–1412
SQL cache, 1399–1400
Dependency property (ControlCachePolicy class), 1370
deploying
databases, 1571–1572
encrypted web configuration files, 1561–1564
deployment configuration section, 1516
descending sorts, 496
description attribute, 1013
Description design-time attribute, 1632
Description property, 937, 1093
DescriptionUrl property, 106
Image control, 105
ImageButton control, 93
ImageMap control, 110
design-time attributes, applying to controls, 1631–1632, 1634–1635
DesignerActionList, 1644
DesignerSerializationVisibility design-time attribute, 1632
DestinationPageUrl property, 1155
Detached value, 901
Detail Form, 1491
Details page, viewing, 1341
Details.aspx page, 535, 1340–1341
DetailsView control, 342, 567, 594, 1354
deleting data with, 597–598
displaying data with, 567, 569, 571
ShowDetailsView.aspx page, 567, 569
ShowEmployee.aspx page, 569–570
displaying empty data with, 573–574, 576
ShowEmptyDataTemplate.aspx page, 574, 576
ShowEmptyDataText.aspx page, 573–574
BoundField, 571
ButtonField, 571
CheckBoxField, 571
CommandField, 571
HyperLinkField, 571
ImageField, 571
ShowFields.aspx page, 571, 573
TemplateField, 571
formatting, 601–604
inserting data with, 593–596
ShowInsert.aspx page, 593
ShowInsertMode.aspx page, 594, 596
paging through data with, 576, 578
AJAX, 578–579
paging interface, customizing, 580–583
ShowPaging.aspx page, 576, 578
updating data with, 584–593
concurrency issues, 591–593
MasterDetailEdit.aspx page, 586, 588
ShowUpdate.aspx page, 584–585
deviceFilters configuration section, 1516
Dhawan, Priya, 889
different language components, mixing in App_Code folder, 725–726
Direction property
Panel control, 114
Parameter object, 406
directives, 8. See also names of specific directives
%@ Import % directive, 13
%@ OutputCache % directive, 1337, 1369
CacheProfile attribute, 1361
Location attribute, 1349, 1351
VaryByControl attribute, 1342, 1344
VaryByCustom attribute, 1346–1349
VaryByHeader attribute, 1345–1346
VaryByParam attribute, 1338, 1342
%@ Page % directive, setting cultures, 1421
@Director parameter, 512
Director property, 977
Directories property, 1134
DirectoryExists( ) method, 1133
DisableCreatedUser property (CreateUserWizard control), 1172
disableExpiration attribute, 1397
disableMemoryCollection attribute, 1397
DisableNotifications( ) method, 1400
DisablePageTheme.aspx file, 280–281
DisableTableForNotification( ) method, 1400
DisableViewState.aspx page, 32–33
disabling
debugging, 50
ShowEnableTheming.aspx file, 277–278
Simple4Calendar.skin file, 279
validation, 138–139
View State, 32–33
DisappearAfter property (Menu control), 1040
disconnected data access, 888–889
DataAdapter object, 889
batch updates, performing, 892–893, 896
displaying data with, 890, 892
populating DataTables with, 889–890
DataTable object, 896
building programmatically, 896, 898
DataRow states and versions, 901, 903, 906
DataView object, 906
Discrete Animation, 1764
Display property (validation controls), 127–128
DisplayAfter property, 1731
displayCalendar( ) method, 199
DisplayCancelButton property (Wizard control), 226
DisplayIndex property (IDataItemContainer interface), 1656
displaying data
Chart Control, 690–694
DataList control, 640, 642–643
RepeatLayout property, 643
ShowDataList.aspx page, 640, 642
ShowFlowDataList.aspx page, 643
DetailsView control, 567, 569, 571
ShowDetailsView.aspx page, 567, 569
ShowEmployee.aspx page, 569–570
FormView control, 605–606
GridView control, 486–487, 489
empty data, 514–518
ShowMovies.aspx page, 486–487
ShowShoppingList.aspx page, 488
line charts, 692
mean value, 698
Repeater control, 624–625, 627
ShowRepeater.aspx file, 624–625
ShowRepeaterPhotos.aspx file, 626–627
DisplayMode property
BulletedList control, 473
ValidationSummary control, 165
DisplaySideBar property (Wizard control), 226
Distinct( ) method, 951
Divide( ) method, 984
DivView control, 1667
binding to SqlDataSource control, 1670–1671
CreateChildControls( ) method, 1669
DataBind( ) method, 1670
DivView.cs file, 1668
dll files. See assemblies
dlstMovies_Edit( ) method, 656
documents, saving to database tables, 185, 188–189
FileHandler.aspx page, 188–189
FileUploadDatabase.aspx page, 185, 187
domain attribute, 1258
domain configuration option (Forms authentication), 1207
Domain property (HttpCookie class), 1272–1273
domains, Forms authentication across, 1214–1216
DoSomething.aspx view, 1509
Downstream value, 1349
DpapiProtectedConfigurationProvider, 1557, 1561
DragHandleID property, 1750
DragPanel control, 1738, 1750–1751, 1754
drill-down reports, 709–710
DROP Assembly command, 923
drop shadows, rendering, 1583–1584
DropDown control, 1738
DropDownList control, 47, 325, 338, 410, 458, 460, 1423, 1425
DropShadow control, 1738
DropShadow.cs file, 1583
dsmgmt.exe tool, 1241
Duration attribute (%@ OutputCache % directive), 1369
Duration property (ControlCachePolicy class), 1370
dynamic compilation, 34–37, 724–725
dynamic data
overview of, 1491–1492
dynamic queries, 983–984, 986–987
dynamic SQL commands, 965
dynamically applying Skins, 293, 295, 297
ShowDynamicSkin.aspx, 294–295
dynamically applying Themes, 291, 293
DynamicTheme.aspx file, 291, 293
Web.Config file, 293
dynamically loading Master Pages, 263
DynamicContent.aspx file, 263–264
DynamicMasterPage.cs file, 266
multiple content pages, 266–267
Web.Config file, 266–267
dynamically loading User controls, 320–321
%@ Reference %> directive, 322, 325, 327
LoadControl( ) method, 320
multi-page wizards, creating, 327–331, 336
ShowFeaturedProduct.aspx example, 320–321
DynamicBottomSeparatorImageUrl property (Menu control), 1040
DynamicContent.aspx file, 263–264
DynamicEnableDefaultPopOutImage property (Menu control), 1040
DynamicFilter control, 713
DynamicFilterExpression, querying, 713
DynamicHorizontalOffset property (Menu control), 1040
DynamicHoverStyle object, 1041
DynamicImage.ashx page, 434–435
DynamicItemFormatString property (Menu control), 1040
DynamicItemTemplate, 1047
DynamicLayout property, 1731
DynamicMasterPage.cs file, 266
DynamicMenuItemStyle object, 1041
DynamicPopOutImageTextFormatString property (Menu control), 1040
DynamicPopOutImageUrl property (Menu control), 1040
DynamicPopulate control, 1738
DynamicSelectedStyle object, 1041
DynamicTopSeparatorImageUrl property (Menu control), 1040
DynamicVerticalOffset property (Menu control), 1040
EasyListBox control, 460
Edit Form, 1492
EditDataList.aspx page, 652, 656
EditGrid.aspx page, 510–511
EditImageUrl property (CommandField), 530
editing
data
FormView control, 612–616
GridView control, 510–512
database data, 675, 678–679, 681
Master Pages
controls, 261–263
HeaderContent.aspx file, 256
MetaContent.aspx file, 257
page headers, 256–258
titles, 255–256
movies, 367
EditItemStyle property (DataList control), 657
EditItemTemplate property, 546, 662, 1663
EditItemTemplate template, 646
EditListView.aspx page, 675
Editor design-time attribute, 1632
EditorBrowsable design-time attribute, 1632
EditRepeater.aspx page, 633, 640
EditRowStyle property (DetailsView control), 601
EditText property (CommandField), 530
EDM (Entity Data Model), 1492
EffectivePrivateBytesLimit property (Cache object), 1387
elements. See names of specific elements
addresses, validating, 151, 153
encryption, 1166
sending
ChangePassword control, 1188, 1190
CreateUserWizard control, 1166–1169
SmtpClient class, 11
Email ID, 1180
Email property (MembershipUser class), 1231
EmbeddedObjects property (MailDefinition class), 1167
Employee Directory application, 375–376
Employee object, passing as parameter, 790, 793–795
Employee.cs file, 778
Employee.cs file, 745–746
EmployeeData component
EmployeeData.cs file, 791, 793
UpdateEmployees.aspx page, 793
EmployeeData.cs file, 791, 793
Employees.cs file, 741
Employees/Employees.sitemap file, 1102
EmployeesDSSorting component, 810
EmployeesDSSorting.vb file, 810
EmployeesUISorting.cs file, 807
DetailsView control, 573–574, 576
ShowEmptyDataTemplate.aspx page, 574, 576
ShowEmptyDataText.aspx page, 573–574
GridView control, 514, 516, 518
empty form fields, validating, 158–159
EmptyDataRowStyle property (DetailsView control), 601
EmptyDataTemplate, 518, 662, 664
EmptyDataText property, 516
Enable Action, 1764
EnableAction animation, 1763
EnableCaching property, 1377
enableCrossAppRedirects attribute, 1214
enableCrossAppRedirects configuration option (Forms authentication), 1208
EnableCrossAppRedirects property (FormsAuthentication class), 1216
Enabled property
Button control, 85
CheckBox control, 78
FileUpload control, 180
HyperLink control, 119
ImageButton control, 93
LinkButton control, 88
ListItem control, 441
RadioButton control, 81
SiteMap class, 1090
TextBox control, 70
enableNotifications tool, 1402
EnableNotifications( ) method, 1400
enableSearchMethods( ) method, 1244
EnableTableForNotifications( ) method, 1401
EnableViewState property (GridView control), 522
enabling
cookieless anonymous identifiers, 1303
roles, 1248
Security Trimming, 1096
SQL caches, 1114
SQL Server Session, 1294
ViewState, GridView control, 521–522
Encode value (Mode property), 67
EncryptConfig.aspx page, 1559
encrypted configuration sections, 1556–1557
creating programmatically, 1558, 1561
creating with aspnet_regiis command, 1557–1558
deploying, 1561–1564
DpapiProtectedConfigurationProvider, 1557
RsaProtectedConfigurationProvider, 1557
EncryptedXml class, 1557
encryption
connection strings, 388–389
email, 1166
encrypted configuration sections, 1556–1557
creating programmatically, 1558, 1561
creating with aspnet_regiis command, 1557–1558
deploying, 1561–1564
DpapiProtectedConfigurationProvider, 1557
RsaProtectedConfigurationProvider, 1557
Forms authentication, 1210, 1212, 1214
passwords, 1232–1233
EndExecuteNonQuery( ) method, 912
EndExecuteReader( ) method, 912
EndExecuteXmlReader( ) method, 912
EndGetMovies( ) method, 912
endHandler parameter, 916
EndProcessRequest( ) method, 1479–1480
EndRequestEventArgs, 1704
Enlist, 857
EnsureChildControls( ) method, 1588
entering confirmation codes, 1175
entities
adding, 1006
updating, 1006
validation, 996
EntitiesApp_CodeMovie.cs file, 952, 958
EntitiesEditLinqDataSource.aspx page, 962
EntitiesListMoviesByBoxOffice.aspx page, 957
EntitiesPartialMovie.aspx page, 959
EntitiesSearchMovies.aspx page, 954
EntitiesShowLinqDataSource.aspx page, 960
Entity Data Model (EDM), 1492
Entity Lists, 1491
EntityBase class, 992
EntityBase file, 991
EntityCallOutValidator file, 991
EntityDataSource control, 994
EntityDataSource file, 991
EntityValidator file, 991
EnumerateCache.aspx page, 1388
Equal( ) method, 984
error handling, ObjectDataSource control, 822, 825
error messages, displaying summary of, 163, 165
ErrorMessage ID, 1180
ErrorMessage property, 162
errors
command execution errors, 398, 400, 403
displaying summary of, 163, 165
UpdatePanel controls, 1714–1717, 1720
validation errors, highlighting, 128
ShowSetFocusOnError.aspx page, 130
ShowValidators.aspx page, 131
ValidationImage.aspx page, 128
Eval( ) method, 363–364, 606, 729, 1006, 1660
EvaluateExpression( ) method, 1469
EvaluateIsValid( ) method, 167
EvaluationContext property (Configuration class), 1536
event handling, Session state, 1285–1287
events. See also names of specific events
Button control, 86
Calendar control, 197
DataBinding, 598
DataBound, 598
DetailsView control, 598–599, 601
exposing from User controls, 307, 309, 311
GridView control, 546–547
handling, Click events, 22–23, 25–28
ImageButton control, 93
ItemCommand, 598
ItemCreated, 598
ItemDeleted, 598
ItemDeleting, 598
ItemInserted, 598
ItemInserting, 598
ItemUpdated, 598
ItemUpdating, 598
LinkButton control, 89
ModeChanged, 598
ModeChanging, 598
MultiView control, 220
ObjectDataSource control, 817–818
Deleted, 817
Deleting, 817
Filtering, 817
Inserted, 817
Inserting, 817
ObjectCreated, 817
ObjectDisposing, 817
parameters, adding and modifying, 818, 820, 822
Selected, 817
Selecting, 817
Updated, 817
Updating, 817
page events, handling, 44–46
PageIndexChanged, 598
PageIndexChanging, 598
Page_InitComplete( ), 46
postback events, handling, 1606–1616
CustomLinkButton example, 1606, 1608
event arguments, passing, 1610, 1613
IPostBackEventHandler interface, 1606, 1608
RaisePostBackEvent( ) method, 1606
DataBinding, 633
EditRepeater.aspx page, 633, 640
ItemCommand, 633
ItemCreated, 633
ItemDataBound, 633
SelectedIndexChanged, 454
SiteMap class, 1091
Wizard control, 227
ExceptionHandled property, 400
exceptions, NullReference, 1369
ExecuteAndSend( ) method, 928
executeInParallel parameter, 916
ExecuteInsert.aspx page, 429–430
ExecuteNonQuery( ) method, 860
ExecuteQuery( ) method, 983
ExecuteReader( ) method, 876, 878, 880–881
ExecuteRegisteredAsyncTasks( ) method, 916
ExecuteScalar( ) method, 874, 876
executing
asynchronous database commands, 911–912, 914
commands with parameters, 863–864
commands without parameters, 860, 862
database commands
canceling command execution, 403, 406
data source mode, changing, 397–398
database rows, filtering, 395–397
inline SQL statements, 389, 391–392
dynamic SQL statements, 983
SqlDataSource commands, 426
Delete command, 428
Select command, 428–435
Update command, 428
stored procedures, 865–872
from ASP.NET pages, 931–932
GetBoxOfficeTotals, 870
GetMovieCount, 868
Movie4 component listing, 865–866
Movie5 component listing, 870
MovieSelect, 867
MovieUpdate, 867
ShowMovie4.aspx page, 867–868
ShowMovie5.aspx page, 872
ShowMovieCount.aspx page, 869–870
execution life cycles, UpdatePanel control, 1697, 1699–1700, 1703–1704, 1706–1707
ExecutionTime statistic, 851–854
Expand( ) method, 1004
ExpandDepth property (TreeView control), 1070
Expanded property (TreeNode object), 1073
ExpandImageToolTip property (TreeView control), 1070
ExpandImageUrl property (TreeView control), 1070
expiring
Data Caching
absolute expiration policy, 1390, 1392
sliding expiration policy, 1393–1394
DataSource caching
absolute cache expiration policy, 1376–1377
sliding cache expiration policy, 1378–1379
Forms authentication, 1210
Page Output Cache, 1353–1355, 1357
explicit localization expressions, 1438–1441
ExplicitShowMovies.aspx page, 785–786
ExponentialMovingAverage formula, 702
exposing
User control events, 307, 309, 311
User control properties, 304–306
PropertyRandomImage.ascx file, 304–305
ShowDeclarative.ascx file, 305
ShowProgrammatic.ascx file, 306
Expression property, 953
ExpressionBuilders, 1464–1465
AppSettingsExpressionBuilder class, 1464
ConnectionStringsExpressionBuilder class, 1465