link.springer.com3a978-1-4302-2512-6%2f1.pdfindex 1521 server controls, 1272–1288 managing browser...

110
Index ■ ■ ■ 1515 Symbols and Numerics - operator, DataView, 345 # (number sign), URL encoding, 247 $ expressions, 354–355 custom expression builders, 355–358 % character, URL encoding, 247 % operator, DataView, 345 & character, URL encoding, 247 &amp; entity, HTML, 112 &gt; entity, HTML, 112 &lt; entity, HTML, 112 &nbsp; entity, HTML, 112, 1141 &quot; entity, HTML, 112 * operator, DataView, 345 * quantifier, regular expressions, 165 * wildcard, SQL queries using, 288 .ascx file see ascx files .asmx file see asmx files .aspx file see aspx files .NET see alphabetized as NET .svc files, 36 .vb file see vb files / operator, DataView, 345 ? quantifier, regular expressions, 165 @ symbol parameterized commands, 374, 379, 382 Parameters collection, 378 @@ERROR value, 305 @@IDENTITY function, 299 @@TRANCOUNT variable, 306 @Count parameter, 426 @Notes parameter, 438 @Start parameter, 426 @TitleOfCourtesy parameter, 441 + (plus sign), URL encoding, 247 + operator, DataView, 345 + quantifier, regular expressions, 165 = operator, DataView, 345 < operator, DataView, 345 > operator, DataView, 345 2D drawing, Silverlight, 1459 3D charts, 1178 3DES (Triple DES), 190, 191 A -A switch, aspnet_regsql.exe, 889, 999 a tag, 128, 139 Abandon method, 257, 258 AbortPostBack function, 1284 absolute expiration, data caching, 492, 493 absolute links cookieless state, 265 absolute positioning, 29, 1482 abstract encryption classes, 1036, 1039 Create method, 1039 GenerateKey method, 1039 access control configuring access rules with WAT, 982 directories, 969–970 files, 970 roles, 970–972 users, 967–969 access control lists (ACLs) GetAccessControl method, 528, 529 IdentityReference class, 957 SetAccessControl method, 528, 529 access keys managing focus, 146 AccessDataSource control, 368 AccessKey property TextBox, 146 WebControl, 138 Accordion control, 740, 1312 account permissions, Windows, 799 account tokens see tokens AccountController class, 1389 AccountOperator role, 953 ACID properties, transactions, 302 AcquireRequestState event, 185 Action property, DynamicDataRoute, 1433

Upload: others

Post on 05-Apr-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

I n d e x

■ ■ ■

1515

■Symbols and Numerics - operator, DataView, 345 # (number sign), URL encoding, 247 $ expressions, 354–355

custom expression builders, 355–358 % character, URL encoding, 247 % operator, DataView, 345 & character, URL encoding, 247 &amp; entity, HTML, 112 &gt; entity, HTML, 112 &lt; entity, HTML, 112 &nbsp; entity, HTML, 112, 1141 &quot; entity, HTML, 112 * operator, DataView, 345 * quantifier, regular expressions, 165 * wildcard, SQL queries using, 288 .ascx file see ascx files .asmx file see asmx files .aspx file see aspx files .NET see alphabetized as NET .svc files, 36 .vb file see vb files / operator, DataView, 345 ? quantifier, regular expressions, 165 @ symbol

parameterized commands, 374, 379, 382 Parameters collection, 378

@@ERROR value, 305 @@IDENTITY function, 299 @@TRANCOUNT variable, 306 @Count parameter, 426 @Notes parameter, 438 @Start parameter, 426 @TitleOfCourtesy parameter, 441 + (plus sign), URL encoding, 247 + operator, DataView, 345 + quantifier, regular expressions, 165 = operator, DataView, 345 < operator, DataView, 345 > operator, DataView, 345

2D drawing, Silverlight, 1459 3D charts, 1178 3DES (Triple DES), 190, 191

■A -A switch, aspnet_regsql.exe, 889, 999 a tag, 128, 139 Abandon method, 257, 258 AbortPostBack function, 1284 absolute expiration, data caching, 492, 493 absolute links

cookieless state, 265 absolute positioning, 29, 1482 abstract encryption classes, 1036, 1039

Create method, 1039 GenerateKey method, 1039

access control configuring access rules with WAT, 982 directories, 969–970 files, 970 roles, 970–972 users, 967–969

access control lists (ACLs) GetAccessControl method, 528, 529 IdentityReference class, 957 SetAccessControl method, 528, 529

access keys managing focus, 146

AccessDataSource control, 368 AccessKey property

TextBox, 146 WebControl, 138

Accordion control, 740, 1312 account permissions, Windows, 799 account tokens see tokens AccountController class, 1389 AccountOperator role, 953 ACID properties, transactions, 302 AcquireRequestState event, 185 Action property, DynamicDataRoute, 1433

Page 2: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1516

action results, MVC, 1409–1412 ActionLink method, MVC, 1396 ActionResult class, MVC, 1409 Active Directory, 856, 884 ActiveDirectoryMembershipProvider class, 883,

884 ActiveDirectoryMembershipUser class, 883, 884 ActiveStepChanged event, 746, 1285 ActiveStepIndex property, 745, 746, 1286 ActiveViewIndex property, 740 ActiveXControls property, 1124 Ad element, Advertisement file, 173 adaptive rendering, 1126 AdCreated event, 174 Add Application Pool dialog box, 827 Add ASP.NET Folder submenu, 37 add element, web.config, 197 Add FTP Site Publishing Wizard, 814 Add Managed Handler dialog box, 832 Add method

AggregateCacheDependency class, 501 MultiView control, 739 OutputCacheProvider class, 487, 488

Add New Item window, websites, 53 Add Reference dialog box, 44, 215 Add Service Reference dialog box, 1509 Add Tab option, 38 Add Virtual Directory dialog box, 821 Add Web Site dialog box, 820, 821 Add_Data folder, 1421 add_init method, 1299 AddArc method, 1156 AddAt method, 739 AddAttribute method, 1111 AddAttributesToRender method, 1117, 1132

rollover buttons, JavaScript, 1223 AddBezier method, 1156 AddBeziers method, 1156 AddClosedCurve method, 1156 AddCurve method, 1156 AddDays method, 873 AddEllipse method, 1156 addHandler method, HoverButton, 1300 AddHistoryPoint method, 1285 AddLine method, 1157 AddLines method, 1157 AddNode method, 769 AddOnPreRenderCompleteAsync method, 513,

514, 524, 525 AddPath method, 1157 AddPie method, 1157 AddPolygon method, 1157

AddRectangle method, 1157 AddRectangles method, 1157 Address property, ProfileCommon, 1012 AddString method, 1157 AddStyleAttribute method, 1111 AddUsersToRole method, 984, 986 AddUsersToRoles method, 984 AddUserToRole method, 984 AddUserToRoles method, 984 AddWithValue method, 301 Administrator credentials

website deployment, 800 Administrator role, WindowsBuiltInRole enum,

953 ADO.NET, 273

see also data access architecture, 274–278 classes, 277–278 client-initiated transactions, 303 Command class, 285–286 Connection class, 278–284 connection pooling, 283–284 connection-based objects, 277 content-based objects, 277 data providers, 274–276 DataAdapter class, 334–342 DataColumn class, 333 DataReader class, 286–287 DataRow class, 333 DataSet class, 332–334, 341 DataTable class, 333 DataView class, 342–350 ExecuteNonQuery method, 286, 294 ExecuteReader method, 286, 287–288 ExecuteScalar method, 286, 293 extensibility of ADO.NET provider model,

275 generic data access code, 276 generic data provider objects, 274 interfaces for ADO.NET objects, 313 namespaces, 277–278 parameterized commands, 297–298 promotable transactions, 304 provider-agnostic code, 311–315

creating factories, 311–312 creating objects with factories, 312–313 queries with, 313–315

SQL injection attacks, 294–297 standardization in, 276 stored procedures, 299–301 transactions, 302–310

ASP.NET web applications, 303–308 client-initiated transactions, 306–308

Page 3: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1517

isolation levels, 308–309 savepoints, 310

user instance connections, 280, 281 ADO.NET DataSet

XML and, 677–679 ADO.NET Entity Data Model, 582 Adobe Flash

Silverlight compared, 1459–1460 adoption, XML, 623 AdRotator control, 173–174 advapi32.dll file, 960, 961 Advertisement file, AdRotator, 173, 174 AES (Advanced Encryption Standard), 191 AffectedRows property

detecting concurrency conflicts, 470 aggregate dependencies, 501–502 aggregate functions, SQL, 349 AggregateCacheDependency class, 501 aggregation, LINQ expressions, 573–574 AJAX (Asynchronous JavaScript and XML),

1190, 1229–1236 see also ASP.NET AJAX building Ajax-style page, 1231–1236 client callbacks in custom controls,

1244–1249 comparing postbacks and callbacks, 1244 disabling event validation, 1242–1243 handling responses, 1231 sending requests, 1230–1231 UpdatePanel control, 1245 using with client callbacks, 1236–1249 writing client-side scripts, 1240–1242 XMLHttpRequest object, 1230–1231

AJAX Extensions Toolbox tab, 38 Ajax.NET library, 1236 AjaxControlToolkit.dll assembly, 1304, 1305 AjaxControlToolkitSampleSite folder, 1304 alert function, JavaScript, 1192 AlgorithmName property, 1044, 1047, 1050 algorithms, encryption

asymmetric, 1038, 1050–1053 symmetric, 1037–1038, 1043–1050

Alias box, Add Virtual Directory dialog, 821 aliases

using ClientTarget property, 1125 allow rule, URL authorization, 966, 967

role access, 971 user access, 967, 968

allowAnonymous attribute, 1003, 1015 AllowClose property, WebPart, 1331, 1334,

1347, 1350 AllowConnect property, WebPart, 1331

allowCustomSqlDatabase attribute, 263 AllowEdit property, WebPart, 1331 AllowHide property, WebPart, 1331 AllowMinimize property, WebPart, 1331, 1350 allowOverride attribute, 194 AllowPaging property, 424, 452 AllowReturn property, WizardStep, 743 AllowSorting property, GridView, 418, 419 AllowZoneChange property, WebPart, 1332 alt attribute, img tag, 435 AlternateText element, AdRotator, 174 AlternatingItemTemplate property

GridView, 433 ListView, 444

AlternatingRowStyle property, GridView, 409 AlwaysVisibleControlExtender control, 1309 ampersand

&amp; entity, HTML, 112 URL encoding, 247

Ancestors method, XElement, 653 anchor tag, HtmlAnchor, 128 AND operator, DataView, 345 And operator, Where clause, LINQ, 570 AndAlso operator, LINQ, 570 Animation class, Silverlight, 1498

animating transforms, 1506 animation, Silverlight, 1460, 1494–1507

ColorAnimation class, 1494 configuring properties, 1498 creating animations, 1494 data types, 1494 DoubleAnimation class, 1494 frame-based animation, 1494 key frame animation, 1495 linear interpolation, 1495 property-based animation, 1494 Storyboard class, 1495–1497 time-based animation, 1494 transforms, 1503–1507 XAML markup, 1495

AnimationExtender control, 1309 annotations

adding validation annotations, MVC, 1406–1408

anonymous access, forms authentication, 859 Anonymous Authentication module

denying access to anonymous users, 951 anonymous method, 1076 anonymous profiles, 1015–1017

anonymous user log in, 1016–1017 deleting old anonymous sessions, 1016

anonymous types feature, VB, 568

Page 4: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1518

anonymous users denying access to, 950–951

forms authentication, 863–864 AnonymousID property, HttpRequest, 106 anonymousIdentification element, 1015 Answer ID

CreateUserWizard template, 921 PasswordRecovery template, 916

AnswerLookupError event, PasswordRecovery, 914

antialiasing, 1152, 1153 AOL property, HttpBrowserCapabilities, 1124 app switch, aspnet_regiis.exe, 210 App.xaml file, Silverlight, 1470 App.xaml.vb file, Silverlight, 1470 App_Browsers directory, 183 App_Code directory, 182

binding chart to object datasource, 1181 configuring custom HTTP handler, 221 creating advanced HTTP handler, 224 creating custom HTTP handler, 219 creating Dynamic Data website, 1416 custom controls using GDI+, 1168 custom expression builders, 358 custom server controls, 1109 Dynamic Data projects, 1421 generating data model, LINQ to Entities, 582 .NET components, ASP.NET, 210, 211 storing several related settings, 204 using component through, 213–214 using configuration-free HTTP handlers,

222 using custom server controls, 1112

App_Data directory, 183 attaching user instance database, 281 creating Dynamic Data website, 1415 creating web part pages, 1320 Visual Studio support for user instance

databases, 281 App_GlobalResources directory, 183 App_LocalResources directory, 183 App_Themes directory, 183, 711, 712 App_WebReferences directory, 183 AppearanceEditorPart class, 1348, 1350 Append value, FileMode, 546 AppFabric, Windows Server, 486 AppInitialize method, 823, 824 applet tags, script injection attacks, 1210 Application class, AJAX, 1298–1299

client-side AJAX control, 1302 Application collection, 269 Application directive

shared application variables, 268

application directory structure, 182–183 application domain, 179–180

connection pooling, 284 application events, 185–188 application integration, XML, 621 application lifetime, 181 Application object, 105, 106 application pool account

website deployment, 799 application pools, 181, 826–829 Application Pools, IIS Manager, 803 application services

ApplicationServices.dll assembly, 43 application services, AJAX, 1264–1272

authentication service, forms, 1265–1267 profile service, 1270–1272 role service, 1267–1270 security, 1269

application state, 266–270 backward compatibility with classic ASP,

268 performance, 267 shared application variables, 268–270 state management options compared, 235 storing application-wide constants, 267 storing frequently used information, 267

Application State section, trace log, 114 application updates, ASP.NET, 181 application warm-up feature

configuring, 829–830 managing websites, 829–830 preparing IIS, 829

Application Warm-Up icon, IIS, 829, 830 Application_AcquireRequestState event, 185 Application_AuthenticateRequest event, 185,

985, 986 Application_AuthorizeRequest event, 185 Application_BeginRequest event, 110, 185 Application_Disposed event, 186 Application_End event, 186, 188 Application_EndRequest event, 185 Application_Error event, 186, 188

using PrincipalPermission attribute, 974, 975

Application_OnEndRequest event, 184 Application_PostRequestHandlerExecute

event, 185 Application_PreRequestHandlerExecute event,

185 Application_ReleaseRequestState event, 185 Application_ResolveRequestCache event, 185 Application_Start event, 186, 188

URL routing, 775

Page 5: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1519

Application_UpdateRequestCache event, 185 Applicationhost.config file

configuring IIS 7.x, 944, 946 feature delegation, 948 native authentication module, 947 registering HTTP handlers, 219

application-level tracing, 118–119 ApplicationName property

configuring membership in IIS 7.x, 925 RoleProvider, 1097 SettingsProvider, 1018 SqlMembershipProvider, 894, 895, 896 SqlRoleProvider, 979

ApplicationPath property, 106, 201 applications, 179

ASP.NET apps, 179–183 extending HTTP pipeline, 217–230 .NET components, 210–217

ASP.NET configuration, 188–210 aspnet_Applications table, 999 creating Dynamic Data apps, 1415–1421 creating MVC app, 1378–1385 extending MVC app, 1385–1393 using membership API with, 925–927

Applications column application pools, IIS, 827

Apply Styles window, Visual Studio, 35 applying stylesheet rules, 708, 709

ApplyChanges method creating custom web part editor, 1352

ApplyFormatInEditMode property, 404 apply-templates command

transforming XML content, 660 ApplyUpdate function

building Ajax-style page, 1235 AppManifest.xml file, 1463, 1470 AppSettings collection, 197 appSettings element, web.config, 192,

197–198 $ expressions, 355 changing settings in, 201 limitations of, 204 programmatic encryption, 209 values in, 198 WebConfigurationManager class, 200

AppSettings property WebConfigurationManager, 199, 200, 202 WebConfigurationSettings, 197

AppSettingsExpressionBuilder, 355 architecture

ADO.NET, 274–278 ASP.NET AJAX, 1289

custom membership and roles providers, 1067–1069

session state, 255–257 Archive value, FileAttributes, 535 arcs

AddArc method, 1156 DrawArc method, 1153

ARGB color value, 142 ArgumentException class, 614 array data types

web services, AJAX, 1258 Array type, AJAX

extended JavaScript types, 1294 Array class

IndexOf method, 440 asax files

global.asax application file, 183–188 ASC attribute

sorting, DataView, 344 ASCII encoding, 548 ascx files, 36

user controls, 683, 684, 685 AsDataView method, 578, 579 AsEnumerable method, LINQ, 578 ashx files, 221

WebHandler directive, 222 asmx files, 36

ASP.NET AJAX, 1256, 1263 ASP.NET applications, 180

.asmx web services, 1255 asp tag controls

BulletedList, 151 Button, 139 CheckBox, 139 CheckBoxList, 151 CompareValidator, 158 CustomValidator, 158 DropDownList, 151 FileUpload, 139 HiddenField, 139 HyperLink, 139 Image, 139 ImageButton, 139 ImageMap, 139 Label, 139 LinkButton, 139 ListBox, 151 Panel, 139 RadioButton, 139 RadioButtonList, 151 RangeValidator, 158 RegularExpressionValidator, 158 RequiredFieldValidator, 158

Page 6: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1520

Table, 139 TableCell, 139 TableRow, 139 TextBox, 139 ValidationSummary, 158

ASP.NET, 3 Add ASP.NET Folder submenu, 37 adding assembly references, 42–45 application events, 185–188 application state, 266–270 asynchronous pages, 512, 525 browser support, 11 caching, 475–512 code model, 52–58 code-behind files, 36 CodeFile attribute, 55 Common Language Runtime, 8–9 compilation, 4–6 configuration, 11–12

Windows authentication, 946 configuration file, 36 cookies, 254–255 core assemblies for ASP.NET pages, 43 data binding, 351 deployment, 11–12 editor web parts, 1350 events, 41 evolution of, 12–19 file types, 36 global application file, 36 HTML controls, 10 Inherits attribute, 55 integration with .NET framework, 3–4 LINQ, 14 multilanguage nature of, 6–7 object-oriented programming, 9–10 page rendering, 100 partial classes, 55 pool of application objects, 184 precompilation, 4, 6 request validation, 1210–1215 security controls, membership API, 898–923 security model, 837–851 server controls, 123 session state, 255–266 Silverlight, 19 special ASP.NET directories, 182 Src attribute, 55 state management, 234–236 System.Web.dll assembly, 43 user control files, 36 using GDI+ in, 1149 view state, 236–245

web controls, 10 Web Development Helper tool, 69 web page files, 36 web services files, 36 web.config transformation feature, 36 XHTML compliance, 82

ASP.NET 1.0 and 1.1, 12 ASP.NET 2.0, 12 ASP.NET 3.5, 14 ASP.NET 4, 17

Menu control, 793 navigation changes in, 737 rich data control changes in, 401 server control changes in, 123 state management changes in, 233 web forms changes in, 71

ASP.NET AJAX, 15–16, 1251–1253 see also AJAX Application class, 1298–1299 application services, 1264–1272

authentication service, forms, 1265–1267

profile service, 1270–1272 role service, 1267–1270

architecture, 1289 client libraries, 1288–1303 client-side, 1251, 1252–1253 client-side AJAX control, 1300–1303 control extenders, 1303–1313 extended JavaScript types in, 1294 features, 1252 JavaScript language extensions, 1252 managing browser history, 1284–1288 OOP in JavaScript, 1289–1298

base types, 1294–1295 closures, 1290–1291 inheritance, 1296–1297 interfaces, 1297–1298 namespaces, 1295–1296 prototypes, 1292

pageLoad function, 1269, 1299 PageRequestManager class, 1299 partial page refreshes, 1252 prebuilt controls, 1252 registering classes with, 1293–1294 remote method calls, 1252 script libraries, 1252–1253 script resources, 1253 ScriptManager control, 1253, 1272 ScriptManagerProxy control, 1253 server callbacks, 1254–1272

application services, 1264–1272 placing web method in page, 1263–1264

Page 7: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1521

server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284 timed refreshes, 1280–1281

server-side, 1251, 1253 Timer control, 1280–1281 UpdatePanel control, 1252, 1273–1280

conditional updates, 1276–1277 handling errors, 1275–1276 interrupted updates, 1277–1278 optimizing, 1279–1280 triggers, 1278–1279

UpdateProgress control, 1281–1284 web methods

creating, 1257–1260 placing web method in page, 1263–1264

Web Parts vs. ASP.NET AJAX, 1317 web services, 1254–1263

calling, 1260–1263 web-page framework, 1298–1303

Application class, 1298–1299 client-side AJAX control, 1300–1303 PageRequestManager class, 1299

ASP.NET AJAX controls, 124, 1309–1313 Accordion, 1312 AlwaysVisibleControlExtender, 1309 AnimationExtender, 1309 AsyncFileUpload, 1312 AutoCompleteExtender, 1305–1309 CalendarExtender, 1310 CascadingDropDown, 1310 CollapsiblePanelExtender, 1310 ColorPickerExtender, 1310 ComboBox, 1312 ConfirmButtonExtender, 1310 control extenders, 1303–1309, 1312, 1313 controls, 1312–1313 DragPanelExtender, 1310 DropDownExtender, 1310 DropShadowExtender, 1310 DynamicPopulateExtender, 1310 Editor, 1313 FilteredTextBoxExtender, 1310 HoverMenuExtender, 1310 installing, 1304–1305 ListSearchExtender, 1310 MaskedEditExtender, 1311 ModalPopupExtender, 1311 MultiHandleSliderExtender, 1311 MutuallyExclusiveCheckBoxExtender, 1311 NoBot, 1313 NumericUpDownExtender, 1311

PagingBulletedListExtender, 1311 PasswordStrength extender, 1311 PopupControlExtender, 1311 Rating, 1313 ReorderList, 1313 ResizableControlExtender, 1311 RoundedCornersExtender, 1311 Seadragon, 1313 SliderExtender, 1311 SlideShowExtender, 1312 TabContainer, 1313 TextBoxWatermarkExtender, 1312 ToggleButtonExtender, 1312 UpdatePanelAnimationExtender, 1312 ValidatorCalloutExtender, 1312

ASP.NET applications, 179–183 application directory structure, 182–183 application domain, 179–180 application lifetime, 181 application updates, 181 asmx files, 180 aspx files, 180 Bin directory, 182 code-behind files, 180 configuration file, 180 extending HTTP pipeline, 217–230 global.asax application file, 180, 183–188 HTTP handlers, 217–219

configuration-free handlers, 221–222 configuring, 220–221 creating, 219–220, 222–224 creating for non-HTML content, 224–227

HTTP modules, 227–228 creating, 229–231

master pages, 180 .NET components, 210–217

App_Code directory, 213–214 Bin directory, 214–217 creating components, 211–212

shadow copy technique, 182 web forms, 180 web services, 180 web.config file, 180

ASP.NET configuration, 11–12, 188–210 appSettings element, 197–198 command-line encryption, 210 configuration files, 188 connectionStrings element, 198–199 encrypting configuration sections, 208–210 extending file structure, 204–208 inheritance, 193–194 location element, 194–195 machine.config file, 189–191

Page 8: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1522

machineKey element, 189–191 programmatic encryption, 209–210 reading and writing configuration sections

programmatically, 199–202 section class

creating, 204–206 registering, 206–208

system.web element, 195–196 system.webServer element, 196 web.config file, 191–195 Website Administration Tool, 202–204

ASP.NET Crystal Reports Web Site template, 26 ASP.NET Dynamic Data see Dynamic Data ASP.NET Empty Web Site template, 25, 28 ASP.NET event model, 75, 93 ASP.NET forms authentication, 839 ASP.NET MVC, 18, 26 ASP.NET pages see web forms ASP.NET project

Toolbox tabs for, 37 ASP.NET Reports Web Site template, 26 ASP.NET request processing framework

creating custom HTTP module, 229 HTTP handlers, 217–219

ASP.NET roles, IIS 7.x, 991–994 ASP.NET Server Control project type, 1109 ASP.NET Server Control template, 1118 ASP.NET server controls

XHTML compliance, 82 ASP.NET services

database scripts for, 890–892 ASP.NET validator controls

avoiding SQL injection attacks, 296 ASP.NET WAT see WAT ASP.NET WCF Service template, 26 ASP.NET Web Application

creating web projects, 60 transactions, 303–308

ASP.NET web forms see web forms ASP.NET Web Parts Framework see Web Parts

Framework ASP.NET Web Site template, 25, 89 ASP.NET website, creating, 89 aspnet_Applications table, 999 aspnet_Applications_CreateApplications

procedure, 1001 aspnet_CheckSchemaVersion procedure, 1001 aspnet_compiler.exe tool, 829 aspnet_Membership table, 896, 897 aspnet_Profile table, 999, 1002, 1007 aspnet_Profile_Xyz procedures, 1001

DeleteInactiveProfiles, 1001, 1016 aspnet_regiis utility, 210

aspnet_regsql.exe tool, 261–262 adding web parts to pages, 1326, 1327 command-line switches, 891, 889 creating database, 887, 888 creating profile tables, 999, 1000 database scripts for services, 890, 891 recommendation of, 891 role-based authorization, 975, 977 ssxyz parameters, 262

aspnet_SchemaVersions table, 1000 aspnet_Users table, 896, 897, 1000 aspnet_Users_Xyz procedures, 1001 aspnet_wp.exe account, 799 aspnetdb database

creating profile tables, 999, 1000 using membership API, 885

aspnetdb.mdf database, 999 creating web part pages, 1320

aspx files, 36 ASP.NET applications, 180 building Ajax-style page, 1232 code-behind model, 53 connecting control tags to page variables, 56 control event handlers, 96 creating JavaScript code, 1190 creating MVC application, 1378 creating web part page design, 1320 declarative nature of data binding, 351 inline code model, 53 naming syntax for source code file, 56 Page directive, 55 PageFlow example, 94 programmatically creating server controls, 131 Silverlight entry page, 1465

aspx.designer.vb files, 60 assemblies, 4

core assemblies for ASP.NET pages, 43 creating for custom server controls, 1109 references, 42–45, 61

assemblies element, web.config, 195 AssemblyInfo.vb file, 1470 AssociatedControlID property, 146 AssociatedUpdatePanelID property, 1283 asymmetric encryption, 846 asymmetric encryption algorithms, 1038,

1050–1053 private/public keys, 1038

asymmetric key pair, 845 AsymmetricAlgorithm class, 1035

GenerateKey method, 1051, 1052 Async attribute, Page directive, 513 Async suffix (to method name)

calling web services, Silverlight, 1510

Page 9: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1523

AsyncFileUpload control, AJAX, 1312 asynchronous callbacks

managing browser history, 1284–1288 ScriptManager restoring page state, 1287 UpdatePanel control, 1273, 1274, 1275 UpdateProgress control, 1282, 1283

asynchronous handlers, 226, 227 asynchronous loading

Add Reference dialog box, 44 asynchronous pages, 512–525

Ajax, 1229 caching, 521–523 creating, 513–515 downloading images, JavaScript, 1203–1208 handling errors, 518–520 life cycle of, 514 multiple tasks and timeouts, 523–525 querying data in, 515–517

asynchronous postbacks init event, Application, 1299

asynchronous postbacks, UpdatePanel interrupted updates, 1277 Timer control triggering, 1280, 1281 triggers, 1278

AsyncPostBackTrigger, UpdatePanel, 1278 AsyncTimeout property, Page, 524 atomic transactions, 302 Attach to Process dialog box

debugging using WAT, 1103 AttachDBFilename property, 280 attached properties

Canvas layout container, Silverlight, 1482, 1483

attacks brute-force attack, 1037, 1047 POST injection attack, 298, 1242 replay attack, 857, 939 SQL injection attack, 294–297, 341 script injection attack, 1210–1215

Attribute method, XElement, 645 AttributeCount property, XmlTextReader, 633 attributes

FileAttributes enum, 534 GetAttributes method, File, 529 identifying data classes with, 396 LINQ to XML model, 642 NonSerialized attribute, 559 Serializable attribute, 558 SetAttributes method, File, 529 setting, transforming web.config, 807–808 well-formed XML, 624 working with, file system, 534–536

XAttribute class, 645 XHTML compliance, 82

Attributes collection setting attributes, 130

Attributes method, XElement, 645 Attributes property

DirectoryInfo class, 531, 534, 535 FileInfo class, 531, 534, 535 HtmlControl, 127

auditing, profiles, 998 Authenticate event

FormsAuthenticationModule, 858 Login control, 899, 908, 909, 910

Authenticate method, FormsAuthentication, 867, 868

Authenticated property, 909 AuthenticateEventArgs class, 909 AuthenticateRequest event, 185, 985, 986

configuring ASP.NET, 946 creating custom HTTP module, 229

authentication, 841 adding web parts to pages, 1325 adding, MVC application, 1389–1390 authorization rules, 967 Basic authentication, 938–939

using with membership API, 926 certificate-based authentication, 938 conference badge, 841 configuration, IIS, 944 cookie authentication, 857–858 credentials, 841, 843, 844 delegation, 958–959 Digest authentication, 938, 939 forms authentication, 853–879

configuring, membership API, 884, 885–886

controlling authentication code, 855 FormsAuthentication class, 858 FormsAuthenticationEventArgs class, 858 FormsAuthenticationModule class, 858, 859 FormsAuthenticationTicket class, 859 FormsIdentity class, 859 HttpModule class, 858 impersonation, 957–962 Integrated Windows authentication, 938,

940–944 Kerberos authentication, 940, 941–944 levels of security, 840 native authentication module, 947 NTLM authentication, 940–941 profiles, 995, 997 protocols, 940

Page 10: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1524

requesting web page requiring, 843, 844 SID, 841 tokens, 841 User object, 114 users, membership API, 884, 897 Windows authentication, 935–957

authentication cookies forms authentication, 853 protection attribute, 861 secure coding, 839 slidingExpiration attribute, forms tag, 861 timeout attribute, forms tag, 861

authentication section, web.config, 195, 859, 860

authentication service, AJAX, 1265–1267 authentication tickets, Kerberos, 942 AuthenticationService class, 1266 authenticationService element, 1265 authorization, 841–842, 965–994

ASP.NET 2.0, 13 ASP.NET roles in IIS 7.x, 991–993 checks in code, 972–975 file authorization, 972 IsInRole method, 972–973 levels of security, 840 PrincipalPermission class, 973–975 requesting web page requiring, 844 role-based, 842, 975–988

accessing roles programmatically, 984–986

using LoginView with roles, 983 roles in IIS 7.x, 988–994 URL authorization, 965–972 web parts, 1373–1374

authorization element, web.config, 195 anonymous access to stylesheets used by

login page, 902 authorization and roles in IIS 7.x, 988, 989 authorization rules, 966 authorization with ASP.NET roles in IIS 7.x,

992 controlling directory access, URL

authorization, 969 denying access to anonymous users, 863,

950, 951 personalization, 1374 role-based authorization, 980

authorization rules configuring in IIS 7.x, 989 denying access to anonymous users, 950 site maps, 772 using profile properties, 1003 wildcards, 966

authorization rules, URL, 966–972 directory access, 969–970 file access, 970 role access, 970–972 user access, 967–969

AuthorizationStoreRoleProvider class, 980 Authorize filter, MVC, 1389 AuthorizeRequest event, 185 AuthorizeWebPart event, 1373 Auto Format option, Dynamic Data, 1423 AutoCompleteExtender control, 1305–1309

MinimumPrefixLength property, 1307 TargetControlID property, 1307

AutoDetect value HttpCookieMode enum, 264 web.config file, 870

AutoEventWireup property, 95, 1172 AutoGenerate value, machineKey, 189 AutoGenerateColumns property, 366, 402, 403,

1014 AutoGenerateDataBindings property, 672 AutoGenerateDeleteButton property, 383, 453 AutoGenerateEditButton property, 379, 437,

453 AutoGenerateInsertButton property, 384, 453 AutoGenerateRows property, 391, 453 AutoID value, ClientIDMode, 88, 89 automatic data binding, web forms, 93 automatic paging, GridView, 423–424 automatic postbacks, 76–77, 149 automatic properties

building data access component, 320 automaticSaveEnabled attribute, profile

element, 1010 AutoPostBack property

change events, 93, 1192 handling web control events, 147 ListControl, 151 web control, 76, 77

AutoReverse property Animation class, Silverlight, 1498

Autos window, Visual Studio, 67–68 autoUpgrade parameter, Silverlight, 1468 AvailableFreeSpace property, DriveInfo, 534 Average method, LINQ, 574

■B b tag, 127 Back button, browser history, 1284, 1286 back reference, 1141 BackColor property, WebControl, 138 background parameter, Silverlight, 1467

Page 11: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1525

BackgroundSounds property, HttpBrowserCapabilities, 1124

backspace metacharacter matching, 164

BackupOperator role, WindowsBuiltInRole enum, 953

base tag, 1115 base types, JavaScript, 1294–1295 BaseValidator class, 160–162

properties, 161, 162 Validate method, 161

Basic authentication, 938–939 secure coding, 839 using with membership API, 926 Windows authentication, 938

BasicAuthenticationModule module, 946 Begin method, Storyboard, 1497 BeginExecuteReader method, 517, 519, 520, 523 BeginForm method, MVC, 1396, 1400 BeginInvoke method, asynchronous pages, 515 BeginPageLoad function, 1200 BeginRead method, 515 BeginReader method, 515 BeginRequest event, 110, 185

PageRequestManager, 1277, 1299 BeginRequestEventArgs class, 1299 BeginTask method, 516 BeginTime property, Silverlight, 1498 BeginTransaction method, 306, 307 BehaviorEditorPart control, 1350 behaviors, 1303

implementing web parts through user controls, 1339

Beta property, HttpBrowserCapabilities, 1124 BETWEEN operator, DataView, 345 Bezier curves

AddBezier method, 1156 DrawBezier method, 1153

bin directory, 182 adding reference to custom controls, 1113 custom controls in Toolbox, 1114 .NET components, 210 project-based development, 59 using component through, 214–217 using custom server controls, 1112

binary data displaying, GridView, 464–465 reading, GridView, 465–466

binary files, streams, 549–550 Binary mode, serialization in, 1007 Binary serialization option, web.config, 1006

BinaryFormatter class, 488, 1009 converting serializable object into stream of

bytes, 559, 560, 561 BinaryReader class, 550 BinaryWrite method, 109, 464, 465, 466 BinaryWriter class, 549

Seek method, 550 Bind method

editing with GridView template, 438, 440 binding see data binding Bindings section, Add Web Site dialog, 820 Bitmap class, 1150, 1163, 1165 bitmaps

drawing with GDI+, 1149, 1150 bitwise arithmetic, 535, 536 body element, CSS rules, 706 Bold property, FontInfo, 143 bookmarking

storing state in URL, 1288 Boolean type, AJAX, 1294 Boolean.ascx template, Dynamic Data, 1431 Border class, Silverlight elements, 1473 BorderColor property, WebControl, 138 borders, GridView styles, 409 BorderStyle property, WebControl, 138 BorderWidth property

Series class, 1176 WebControl, 138

BoundField column, GridView, 402, 403, 404 displaying data, EntityDataSource, 610

BoundField tag defining fields, DetailsView, 453

breadcrumb navigation, 755–757 break mode, Visual Studio, 64, 65, 66 breakpoints, Visual Studio, 64, 68 Breakpoints window, Visual Studio, 68 Browse tab, Add Reference dialog, 216 BrowseDisplayMode, WebPartManager, 1327 browser detection, 17 browser element

browser type detection, 1123 browser history

adding history points, 1285–1286 managing, AJAX, 1284–1288 restoring page state, 1287 storing state in URL, 1287–1288

browser plug-in Web Development Helper tool, 69, 70

Browser property, HttpRequest, 106, 1123 browser support, 11 browsers

adaptive rendering, 1126 App_Browsers directory, 183

Page 12: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1526

custom caching, 479, 480 custom server controls, 1121–1126

browser type detection, 1122–1123 HtmlTextWriter class, 1121–1122

detecting current configuration, 1123 HttpBrowserCapabilities class, 1123–1125 limitations of query string, 246 losing session state, 257 overriding browser type detection, 1125 working with range of, forms

authentication, 855 Brush object

FillXyz methods, Graphics, 1154, 1160 Brushes class, 1160 brushes, GDI+, 1160–1162

HatchBrush class, 1160 LinearGradientBrush class, 1160 SolidBrush class, 1160 TextureBrush class, 1160

brute-force attacks, 1037, 1047 BufferOutput property, HttpResponse, 108 BuildSiteMap method, 766, 771 BulletedList control, 151, 155–157

repeated-value binding, 359 BulletImageUrl property, 156 BulletStyle property, 156 Button class, Silverlight elements, 1472 Button control, 95, 139 button controls

IButtonControl interface, 741 OnClientClick property, 1193

button tag, HtmlButton, 128 Button.Click event

see also click events connecting events to event handlers, 58 creating simple event handler for, 41 disabling request validation, 1213 PageFlow example, 95, 96

ButtonField column, GridView, 418, 402 ButtonField tag

defining fields, DetailsView, 453 buttons

CausesValidation property, 159 DefaultButton property, 146 IButtonControl interface, 146 rollover buttons, JavaScript, 1221–1225

ButtonType property, CommandField selecting rows, GridView, 414

By keyword, Group clause LINQ expressions, 571

By property Animation class, Silverlight, 1498

bytes ReadAllBytes method, 529 WriteAllBytes method, 529

■C -C switch, aspnet_regsql.exe, 889 Cache collection

adding items to cache, 491–494 data caching, 491 Insert method, 492

cache configuration, 485 cache dependencies, 499–507

aggregate dependencies, 501–502 cache notifications, 505–506 creating cache dependency, 507 custom cache dependencies, 508–512 enabling notifications, 506 file and cache item dependencies, 500–501 item removed callback, 502–504 SQL cache notifications, 504–505 using message queues, 509–512

cache element, web.config, 485 cache notifications, 505–506 Cache object, 105, 106

data caching, 491 Insert method, 509 Remove method, 503

cache priorities, data caching, 495–496 cache profiles, 484–485 Cache property, 108, 481 cache provider, 486–490 cache scavenging, 495 CacheDependency class, 500–501

aggregate dependencies, 501 custom cache dependencies, 508, 509 DependencyDispose method, 509 HasChanged property, 508 NotifyDependencyChanged method, 508,

509 UtcLastModified property, 508

CacheDuration property, 373, 496 CacheExpirationPolicy property, 373, 496 CacheItem class, 488 CacheItemPriority enumeration, 495, 496 CacheItemRemovedReason enumeration, 504 CacheKeyDependency property, 496 CacheProfile attribute, OutputCache, 485 cacheRolesInCookie property, 978 CacheXyz properties, XmlDataSource, 676 caching, 475–512

adding, site maps, 770–772 custom caching, 479–481

Page 13: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1527

data caching, 476, 491–499 defining settings in web.config, 484 disk-based caching, 486 durable caching, 487 fragment caching, 476, 482 HttpCachePolicy class, 481 memory-based caching, 486 output caching, 476–490 partial caching, 701–704 performance improvement, 475 post-cache substitution, 482–484 profiles, 998 query string, 478 query string parameters, 479 ResolveRequestCache event, 185 sharing cached controls, 704 state management options compared, 235,

236 UpdateRequestCache event, 185 using with asynchronous tasks, 521–523 value of, 475 with data source controls, 496–499

caching element, web.config cache configuration, 485 using custom cache provider, 490

calculated columns data binding with DataReader, 364 DataView class, 348–350

Calendar autoformatting, 30 Calendar class, Silverlight, 1472, 1474 Calendar control, 173, 175–177

DayRender event, 176 events, 175 FirstDayOfWeek property, 176 properties, 175, 176 SelectedDates property, 176 SelectionChanged event, 175 SelectionMode property, 176 smart tag for, 30 styles, 176 triggering postbacks, 1134

CalendarExtender control, AJAX, 1310 callback method

item removed callback, 502 callbacks

asynchronous, UpdatePanel control, 1273 comparing postbacks and, 1244 item removed callback, cache

dependencies, 502–504 server callbacks, AJAX, 1254–1272 sorting and paging, GridView, 429 stages of, 1238 using Ajax with client callbacks, 1236–1249

callBaseMethod method, JavaScript, 1297 CallServerForUpdate function, 1234, 1235 cancel button, UpdateProgress control,

1283–1284 Cancel command

editing FormView, 456 Cancel link

updating records, SqlDataSource, 379 Cancel property

InitializeRequestEventArgs, 1299 LoginCancelEventArgs, 914

CancelButtonClick event, Wizard, 746 CancelButtonStyle property, Wizard, 748 CancelDestinationPageUrl property, Wizard,

746 canonicalization error, 539 Canvas class, Silverlight, 1473, 1481 Canvas layout container, Silverlight, 1482–1487

animation example, 1500 attached properties, 1482, 1483 dragging circles, 1484–1487 layering elements, 1483 positioning elements, 1482 SetZIndex method, 1483 ZIndex property, 1483

Caption property, GridView, 406 CaptionAlign property, GridView, 406 carriage return

metacharacter matching, 164 CAs (certificate authorities), 845, 846

cryptography, 1032 Online Certification Authority wizard, 848 Trusted Root Certification Authorities, 846,

1034 VeriSign, 1034

cascading style sheets see CSS CascadingDropDown extender, 1310 CaseSensitive property, DataTable, 344 CatalogDisplayMode field, WebPartManager,

1327 CatalogIconImageUrl property, 1332, 1335 CatalogZone control

adding web parts to pages, 1325, 1332 creating web part pages, 1320, 1322 customizing web part pages, 1327, 1329 uploading web parts dynamically, 1369,

1372 CausesValidation property, 159, 169, 170, 751 cell spanning, GridView, 458 CellPadding property, 153, 406 Cells collection

programmatically creating server controls, 132

Page 14: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1528

CellSpacing property, 153, 406 certificate authorities see CAs certificate stores, 1034 certificate-based authentication, 938 certificates snap-in, Windows, 1035 certificates, SSL, 845, 847, 848 challenge response, NTLM authentication, 940 change events

handling events, Silverlight, 1479 HTML server controls, 136 postbacks and, 1131–1134 ServerChange event, 133, 134–136

changed-value concurrency, 327, 328 ChangeExtension method, Path, 540 ChangeMode method, DetailsView, 453, 454 ChangePassword control, 917–918

security controls, membership API, 899 ChangePassword method

Membership class, 931 validating users on login, 1089, 1090

XmlMembershipProvider, 1091, 1093 ChangePasswordTemplate property, 917, 918 chart control, 1172–1187

ASP.NET 4, 17 background, 1174 border, 1174 color, 1174 creating charts, 1172–1178 data, 1175 DataSource property, 1183 populating chart with data, 1179–1187 Series collection, 1175, 1180 titles, 1174

charts 3D charts, 1178 binding to database table, 1179–1181 binding to LINQ, 1186–1187 binding to object datasource, 1181–1183 binding to XML file, 1184–1185 creating, 1172–1178 populating with data, 1179–1187

ChartType property, Series, 1175, 1180 CheckBox class, 139, 158, 1472 checkbox type, input tag

HtmlInputCheckBox class, 129 CheckBoxField column type, GridView, 402 CheckBoxFor method, MVC, 1395, 1396 CheckBoxList control, 151, 152, 710

repeated-value binding, 359 CheckBoxStyle property, Login, 902 Checked property, TreeNode, 782 CheckedChanged event, 147 child nodes, 651

child records parent/child view in single table, GridView,

458–460 ChildItems collection, MenuItem, 787 childNodes collection, document, 1197 ChildNodes property

SiteMapNode, 762, 769 XmlDocument, 636

ChildNodesPadding property TreeNodeStyle, 782

Children property, layout containers dragging circles on Silverlight Canvas, 1484

ChildrenAsTriggers property optimizing UpdatePanel, 1280

Choose Location dialog box, 26 ChromeState property, WebPart, 1332, 1350 ChromeStyle property, WebPart, 1350 ChromeType property, WebPart, 1332 chunking

view state chunking, 81 CircleHotSpot class, 1144 circles

dragging circles on Silverlight Canvas, 1484–1487

class attribute applying stylesheet rules, 708 XAML code-behind, 1477

class libraries .NET framework, 3, 4 project, Visual Studio, 210 Silverlight, 1480–1481

Class View window, Visual Studio, 35 classes

abstract encryption classes, 1039 ADO.NET, 277–278 animation classes, 1495 cryptography, 1035–1041 custom profile providers, 1017–1019 data model classes, LINQ to Entities,

582–585 data utility class, 321–326 entity classes, LINQ to Entities, 584–585 exception classes, 282, 883 forms authentication, 858–859 partial classes, 55, 584 transform classes, 1503–1504 web control, 138–139

classes, JavaScript inheritance, 1296–1297 interfaces, 1297–1298 prototypes, 1292 registering with ASP.NET AJAX, 1293–1294

Page 15: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1529

classes, list of see also controls, list of ActiveDirectoryMembershipProvider, 883 ActiveDirectoryMembershipUser, 883 Application, 1298–1299 AsymmetricAlgorithm, 1035 AuthorizationStoreRoleProvider, 980 BaseValidator, 160–162 BinaryWriter, 549 Bitmap, 1150 Brushes, 1160 ColorAnimation, 1494 Command, 285–286 CompositeControl, 1136 Connection, 278–284 Control, 1109 ControlAdapter, 1126 CreateUserWizardStep, 919 CreateWizardStep, 919 CryptoStream, 1039, 1040–1041 DataAdapter, 334–342 DataColumn, 333 DataReader, 286–287 DataRow, 333 DataRowExtensions, 578 DataSet, 332–334 DataTable, 333 DataTableExtensions, 578 DataView, 342–350 DbProviderFactories, 311 DeflateStream, 557 Dictionary, 239 Directory, 527, 528–530 DirectoryInfo, 527, 530–533 DoubleAnimation, 1494 DriveInfo, 527, 533–534 DynamicDataRoute, 1433 Encoding, 1047 EncryptedQueryString, 1060 Extensions, 653 FactoredProfileProvider, 1020–1029 File, 527, 528–530 FileInfo, 527, 530–533 FileStream, 546 FileSystemInfo, 530 FormsAuthentication, 858 FormsAuthenticationEventArgs, 858 FormsAuthenticationModule, 858, 859 FormsAuthenticationTicket, 859 FormsIdentity, 859 Graphics, 1149, 1153–1156 GraphicsPath, 1149, 1156–1157 GZipStream, 557

HashAlgorithm, 1036 HatchBrush, 1160 Html32TextWriter, 1121, 1122 HtmlAnchor, 128 HtmlButton, 128 HtmlContainerControl, 127 HtmlControl, 127 HtmlForm, 128 HtmlGenericControl, 129 HtmlHead, 130 HtmlImage, 128 HtmlInputButton, 128 HtmlInputCheckBox, 129 HtmlInputControl, 128 HtmlInputFile, 129 HtmlInputHidden, 129 HtmlInputImage, 129 HtmlInputPassword, 129 HtmlInputRadioButton, 129 HtmlInputReset, 129 HtmlInputSubmit, 129 HtmlInputText, 129 HtmlMeta, 130 HtmlSelect, 129 HtmlTable, 129 HtmlTableCell, 129 HtmlTableRow, 129 HtmlTextArea, 129 HtmlTextWriter, 1121–1122 HtmlTitle, 130 HttpBrowserCapabilities, 1123–1125 HttpCachePolicy, 481 HttpModule, 858 IdentityReference, 955–957 LinearGradientBrush, 1160 MatrixTransform, 1504 Membership, 882, 883, 927–932 MembershipProvider, 883 MembershipProviderCollection, 883 MembershipUser, 883, 928 MembershipUserCollection, 883 MenuItem, 786 NTAccount, 955 ObjectContext, 583–584 OracleClientFactory, 311 Page, 105–121 PageRequestManager, 1276, 1299 Pair, 1130 Path, 538–540 Pens, 1157–1159 PrincipalPermission, 973–975 ProfileBase, 1012 ProfileCommon, 1012

Page 16: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1530

ProfileInfo, 1013 ProfileManager, 1013 ProtectedData, 1043 RandomNumberGenerator, 1035 RoleManagerModule, 980 RolePrincipal, 952, 980 RoleProvider, 980 RoleProviderCollection, 980 Roles, 980 RotateTransform, 1503 ScaleTransform, 1503 SecurityIdentifier, 955 Series, 1175 SiteMap, 762 SiteMapDataSource, 752 SiteMapProvider, 753, 764–772 SkewTransform, 1503 SolidBrush, 1160 SqlClientFactory, 311 SqlMembershipProvider, 883 SqlProfileProvider, 998–1017 SqlRoleProvider, 980 StaticSiteMapProvider, 764 StringBuilder, 288, 289 SymmetricAlgorithm, 1035 SymmetricEncryptionUtility, 1048–1050 TextureBrush, 1160 TransformGroup, 1504 TranslateTransform, 1503 TreeNodeStyle, 782 TreeViewNode, 785 UserControl, 684 VirtualFile, 823 VirtualPathProvider, 822–825 WebConfigurationSettings, 197 WebControl, 137, 1109 WebControlAdapter, 1126 WindowsIdentity, 953–955 WindowsPrincipal, 952–953 WindowsTokenRoleProvider, 980 X509Certificate, 1033 X509Certificate2, 1033 X509CertificateCollection, 1033 X509Store, 1033 XDocument, 635, 642–648 XElement, 645 XhtmlTextWriter, 1121 XmlDocument, 635, 636–639 XmlNode, 636 XmlReaderSettings, 656 XmlRoleProvider, 1095–1101 XmlSiteMapProvider, 752 XmlTextReader, 628

XmlTextWriter, 628 XmlValidatingReader, 656 XNamespace, 646 XNode, 642 XPathNavigator, 635, 639–642

classic ASP backward compatibility with, 268

Classic pipeline mode application pools, IIS, 827 processing requests, 830

ClassName attribute converting page to user control, 686

ClassName property, Application directive, 268 cleanup, ASP.NET web forms, 94 Clear method

DataSet, 334 HttpSessionState, 258 SqlSiteMapProvider, 771

Clear value passwordFormat attribute, credentials, 869

ClearAllPools method, 284 ClearPool method, 284 click events

see also Button.Click event hotspot clicks, 1145–1146 ImageButton control, 149 ImageMap, 150, 1145–1146 ServerClick event, 133, 134–136 web control events, 147

client callbacks, Ajax, 1236–1249 comparing postbacks and callbacks, 1244 creating, 1237–1243 custom controls, 1244–1249 DynamicPanel control, 1245–1248 DynamicPanelRefreshLink control, 1248

client IDs in GridView templates, 443–444

client libraries, AJAX, 1288–1303 Application class, 1298–1299 ASP.NET AJAX architecture, 1289 object-oriented programming in JavaScript,

1289–1298 base types, 1294–1295 registering classes with ASP.NET AJAX,

1293 PageRequestManager class, 1299 web-page framework, 1298–1303

client-side AJAX control, 1300–1303 clientaccesspolicy.xml file, 1512 ClientBin folder, Silverlight, 1463 ClientCertificate property, HttpRequest, 106 ClientID property, Control class, 125 ClientIDMode enumeration, 88

Page 17: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1531

ClientIDMode property, 88, 89, 90 GridView control, 443

ClientIDRowSuffix property, 89, 90 ASP.NET 4 changes in data controls, 401 GridView control, 443, 444

client-initiated ADO.NET transactions, 303, 306–308

ClientScript property, Page, 1208 ClientScriptManager class

rendering script blocks, 1208, 1209 client-side AJAX control, 1300–1303 client-side ASP.NET AJAX, 1251, 1252–1253 client-side control IDs, 88–90

cross-page posting, 252 web forms changes in ASP.NET 4, 71

client-side data sending to server, 72

client-side events, JavaScript, 1191–1193 client-side libraries, JavaScript, 1288 client-side programming see JavaScript client-side scripts

writing, Ajax, 1240–1242 ClientTarget property, Page, 1125 clientTarget section, web.config, 1125 ClientValidationFunction property, 167 Clone method, DataSet, 334 Close method

DataReader, 287, 289 FileStream, 547

Close verb custom verbs and web parts, 1364

CloseConnection value, CommandBehavior, 290 CloseFigure method, GraphicsPath, 1157 closures, JavaScript, 1290–1291

prototypes compared, 1292 CLR (Common Language Runtime), 8–9

Silverlight, 1460 ClrVersion property, HttpBrowserCapabilities,

1124 CLS (Common Language Specification), 7, 8 CMS (Cryptographic Message Syntax), 1032 code

adding to user controls, 686–697 App_Code directory, 182 authorization checks in, 972–975

code editor, Visual Studio, 41–52 adding assembly references, 42–45 draggable document windows, 52 error underlining, 48 IntelliSense, 47, 49–50 member list, 46–47 navigation tools, 50–51 outlining, 45–46

code model, ASP.NET, 52–58 models for coding web pages, 52

CodeBehind attribute, Visual Studio, 61 code-behind class, Page, 105 code-behind files

ASP.NET, 36, 180 user controls, 683 XAML code-behind, 1477–1478

code-behind model, Visual Studio, 53, 54, 55 connecting code-behind files to pages,

55–56 connecting control tags to page variables,

56–57 connecting events to event handlers, 57–58 converting page to user control, 686 creating web projects, 60

code-behind view, Visual Studio, 41 CodeDOM (Code Document Object Model),

356 CodeExpression class, 356 CodeFile attribute, ASP.NET, 55, 61 code-free scenarios, GridView, 402 CodeMethodInvokeExpression class, 357 coding guidelines, secure, 838–839 Collapse to Definitions option

outlining, Visual Studio, 46 CollapseImageUrl property, TreeView, 782, 785 CollapsiblePanelExtender, AJAX, 1310 collapsing code

outlining, Visual Studio, 45–46 collection data types

web services, AJAX, 1258 collectionKey argument, IsValidRequestString

method, 1214 Color property

Series class, 1176 web controls, 142

color related properties, 138 ColorAnimation class, Silverlight, 1494, 1495,

1500, 1501 ColorAnimationUsingKeyFrames class, 1495 ColorPickerExtender, AJAX, 1310 colors

GridView styles, 409 web controls, 142

Column property, Grid, Silverlight, 1489 column types, GridView, 402 ColumnDefinitions collection, Grid, 1488, 1489 columns

automatic column generation, GridView, 402, 403

calculated columns, DataView, 348–350 DataColumn class, 333

Page 18: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1532

defining styles, GridView, 410 defining, GridView, 402–406 fine-tuning column order, 403 hiding, 403 regenerating GridView columns, 403

Columns collection DataTable class, 333 GridView, 403

ColumnSpan property, 458, 1493 COM tab, Add Reference dialog, 215 COM+ transactions, 303, 304 Combine method, Path, 539, 540 ComboBox class, Silverlight, 1472 ComboBox control

ASP.NET AJAX control toolkit, 1312 Command and Parameter Editor dialog, 376 Command class, 274, 285–286

CommandText property, 285, 307 CommandType property, 285 Connection property, 285 connection-based objects, 277 ExecuteNonQuery method, 286, 294 ExecuteReader method, 286, 287–288, 465 ExecuteScalar method, 286, 293 provider-agnostic code, 311 Transaction property, 307 using generic names for provider-specific

classes in this book, 274 command column

editing without, GridView, 441–443 command names, MultiView, 741 Command property,

SqlDataSourceSelectingEventArgs, 377 CommandArgument property, buttons, 436 CommandBehavior enumeration, 290, 291 CommandField class

operations on records, DetailsView, 453 ShowEditButton property, 437

CommandField column, GridView, 402 editing with template, 437, 441 selecting rows, 414

command-line encryption, 210 CommandName property

ChangePassword templates, 917 editing with GridView, 441, 442 FormView editing, 455, 456 handling events in GridView, 436, 437 Login templates, 907 PasswordRecovery templates, 915, 916

commands configuring in Properties window, 370 parameterized commands, 297–298

SqlDataSource, 373–378

CommandText property, ADO.NET, 285, 307 CommandType enumeration, 285 CommandType property, ADO.NET, 285, 286 comments

script blocks, JavaScript, 1194 TODO token tag, 39 well-formed XML, 624

Comments property, FileVersionInfo, 538 comments, Task List window, 39 Commit method, Transaction, 306, 307 commit-as-you-go model, wizards, 747 commit-at-the-end model, wizards, 747 Common Language Runtime (CLR), 8–9, 1460 Common Language Specification (CLS), 7 Common namespace, 277 communication contracts, web parts, 1355,

1356 CompanyName property, FileVersionInfo, 538 CompareValidator control, 158, 163 compilation

ASP.NET, 4–6 assembly, 4 creating web projects, 60 JIT compilation, 4 precompilation, 4, 6

compilation element, web.config, 195 compiled languages

ASP.NET, 4–6 compiled queries

LINQ to Entities, 594–595 CompiledQuery class, 595 Completed event, Storyboard, 1499 Completed suffix (to method name)

calling web services, Silverlight, 1510 CompletedSyncResult class, 520, 521, 522,

523 Complex option

querying stored procedures, LINQ to Entities, 588

components, .NET, 210–217 composite controls, 1136–1139 CompositeControl, 1136–1137 Compress value, CompressionMode, 557 Compressed value, FileAttributes, 535 compression

compressing data in streams, 557–558 sessionState element, 263–264 state management changes, 233

CompressionMode enumeration, 557, 558 Computer Management tool, 40, 260 concurrency

database operations, 600–605 detecting conflicts, GridView, 469–474

Page 19: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1533

disconnected data, 331 handling conflicts, 601–605 isolation level locking behavior, 310 optimistic model, 600 strict checking, SqlDataSource, 380–381 user concurrency, XmlDocument, 636

concurrency strategies, 327–328 Condition option

customizing breakpoints, 68 conditional expressions, LINQ, 570 conditional updates

UpdatePanel control, 1276–1277 conference badge, authentication, 841 confidentiality, 842

encrypting data, 1031 levels of security, 840

configSections element, web.config, 204, 206 configuration

cache configuration, 485 System.Configuration.dll assembly, 43

Configuration class, 201, 202 configuration file, 36

see also web.config file applying master pages through, 731 applying themes through, 718–719 ASP.NET applications, 180

configuration inheritance machine.config file, 193 web.config file, 193–194

configuration sections reading and writing programmatically, 199–

202 configuration, ASP.NET see ASP.NET

configuration ConfigurationManager class, 206 ConfigurationProperty attribute

orderService element, 206 ConfigurationSaveMode enumeration, 202 ConfigurationSection class, 200, 204 Configure Data Source Wizard, 396

displaying data, EntityDataSource, 607 configured impersonation, 957, 959 ConfirmButtonExtender, AJAX, 1310 ConfirmPassword ID

CreateUserWizard template, 920 confirmSubmit function, JavaScript, 1208 ConflictDetection property, SqlDataSource

deleting records, 383 detecting concurrency conflicts, 472 strict concurrency checking, 380, 381

Connect Timeout setting, 279 ConnectDisplayMode property,

WebPartManager, 1327, 1361

ConnectErrorMessage property, WebPart, 1332 Connection class, 274, 278–284

connection pooling, 283–284 connection strings, 278–281 connection-based objects, 277 provider-agnostic code, 311 releasing connections promptly, 282 standardization in ADO.NET, 276 testing connections, 281–283 user instance connections, 280–281 using generic names for provider-specific

classes in this book, 274 Connection Lifetime setting, 284 connection points, web parts

creating consumer web parts, 1359, 1360 dynamically configuring, 1361–1362 multiple connection points, 1362–1363 static connections between web parts, 1360,

1361 connection pooling, 283–284

connectionStrings element, 198 Oracle data providers, 283 settings, 283–284 SQL Server data providers, 283

Connection property, Command class, 285 connection strings, 278–281

binding chart to database table, 1179 configuring, membership API, 884,

892–893 hard-coding, 279 Initial Catalog value, 280 integrated security, 279 OLE DB provider, 279 retrieving, 280 SqlDataSource control, 370 storing, 279 user instance connections, 280, 281

connection-based objects, ADO.NET, 277 Command class, 285–286 Connection class, 278–284 DataAdapter class, 334–342 DataReader class, 286–287

ConnectionConsumer attribute connecting web parts, 1355, 1356 creating consumer web parts, 1359 user controls and web parts, 1367

ConnectionProvider attribute connecting web parts, 1355, 1356 implementing provider web parts, 1356, 1358 multiple connection points, 1362

connections building data access component, 317 CloseConnection value, 290

Page 20: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1534

opening and closing quickly, 317 releasing connections promptly, 282 testing connections, 281–283

ConnectionString property, 279, 609 connectionStringName property, 979 ConnectionStrings property, 199, 200, 202, 280 connectionStrings section, web.config, 192,

198–199 building data access component, 318 changing settings in, 201 configuring connection strings, 892 connection pooling, 283 expression builders, 355 SqlDataSource control, 370 storing connection strings, 279 testing FactoredProfileProvider, 1028 WebConfigurationManager class, 200

ConnectionStringsExpressionBuilder, 355 ConnectionsZone

dynamically configuring connection points, 1361, 1362

consistent transactions, 302 Constraints property, DynamicDataRoute,

1436, 1437 consumer web parts, connecting, 1355,

1358–1360 ConsumerConnectionPointID parameter, 1363 Container.DataItem property, 430 containers

HtmlContainerControl class, 127 naming containers, 88 pages as control containers, 97–105

Contains method, StringCollection, 1100 Content control, 725 Content folder

creating MVC application, 1378 Dynamic Data projects, 1422

content pages, 722 creating, 724–726 default content, 727

Content View button, IIS Manager, 801 content-based objects, ADO.NET, 277

DataColumn class, 333 DataRow class, 333 DataSet class, 332–334 DataTable class, 333 DataView class, 342–350

ContentPlaceHolder control creating content pages, 725–726 default content, 727 master pages, 722–724

with tables and CSS layout, 727–730 ContentPlaceHolderID property, 725

ContentTemplate partial rendering with UpdatePanel, 1273 using LoginView with roles, 983

ContentType property, HttpResponse, 109 Context property, Page, 1011 Continue command, Visual Studio, 66 ContinueButton ID

CreateUserWizard template, 921 ContinueButtonClick event

CreateUserWizard control, 921 control adapters

adaptive rendering, 1126 placing in separate DLL assembly, 1126

Control class, 1109 creating custom server controls, 1110 creating web control supporting style

properties, 1119 custom controls using GDI+, 1168 hierarchy of server controls, 124, 125 methods, 126 Page property, 354 properties, 125 Render method, 1110, 1111, 1115, 1119 RenderContents method, 1118 RenderControl method, 1119, 1120

control declaration, web controls, 140 Control directive

converting page to user control, 686 user controls, 684

control event handlers page event handlers compared, 96

control extenders, AJAX, 1303–1313 Accordion control, 1312 AlwaysVisibleControlExtender, 1309 AnimationExtender, 1309 AsyncFileUpload control, 1312 AutoCompleteExtender, 1305–1309 CalendarExtender, 1310 CascadingDropDown extender, 1310 CollapsiblePanelExtender, 1310 ColorPickerExtender, 1310 ComboBox control, 1312 ConfirmButtonExtender, 1310 DragPanelExtender, 1310 DropDownExtender, 1310 DropShadowExtender, 1310 DynamicPopulateExtender, 1310 Editor control, 1313 FilteredTextBoxExtender, 1310 HoverMenuExtender, 1310 installing toolkit, 1304–1305 ListSearchExtender, 1310 MaskedEditExtender, 1311

Page 21: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1535

ModalPopupExtender, 1311 MultiHandleSliderExtender, 1311 MutuallyExclusiveCheckBoxExtender, 1311 NoBot control, 1313 NumericUpDownExtender, 1311 PagingBulletedListExtender, 1311 PasswordStrength extender, 1311 PopupControlExtender, 1311 Rating control, 1313 ReorderList control, 1313 ResizableControlExtender, 1311 RoundedCornersExtender, 1311 Seadragon control, 1313 SliderExtender, 1311 SlideShowExtender, 1312 TabContainer control, 1313 TextBoxWatermarkExtender, 1312 ToggleButtonExtender, 1312 UpdatePanelAnimationExtender, 1312 ValidatorCalloutExtender, 1312

control IDs, client-side, 88–90 control over HTML, MVC, 18 control over URLs, MVC, 18 control properties see server control properties control property, view state, 78 control state, 78, 1129–1131

disabling, 1130 EnableViewState property, 1129 LoadControlState method, 1130, 1131 SaveControlState method, 1130 using, 1130

control tags connecting to page variables, 56–57

Control Tree section assessing view state, 242 trace log, 114

control tree, showing pages as control containers, 97–101

ControlAdapter class, 1126 controller see MVC (Model-View-Controller) ControlParameter tag

data binding, 374 parameterized commands, 375

controlRenderingCompatibilityVersion attribute, 84, 85

controls absolute positioning, 29, 30 ASP.NET AJAX controls, 124

client-side AJAX control, 1300–1303 composite controls, 1136–1139 control state, 1129–1131 custom controls, JavaScript, 1215–1225

custom controls, Silverlight, 1514 custom server controls, 683 data controls, 124 data source controls, 367–369 derived controls, 1139–1142 dynamic control creation, 103–105 Dynamic Data controls, 124 extending web controls, 1136–1142 FindControl method, 126 handling special characters, 113 HasControls method, 126 HTML server controls, 123, 126–136 input validation controls, 157–172 knowing availability of smart tags, 30 list controls, 150–157 login controls, 124 navigation controls, 124 pages as control containers, 97–105

dynamic control creation, 103–105 page header, 101–103 showing control tree, 97–101

parameter types, 375 RenderControl method, 126 rendering methods, 1120 repeated-value binding, 359 repeated-value controls, 352 representing controls in HTML, 72 rich controls, 124, 172–177 rich navigational controls, 737 runat="server" attribute, 10 security controls, membership API, 898–923 server controls

ASP.NET AJAX, 1272–1288 hierarchy of, 124–125

ServerChange event, 134–136 ServerClick event, 134–136 Silverlight, 1459, 1472 special controls for Login template, 907 Toolbox window, Visual Studio, 35, 37 user control files, ASP.NET, 36 user controls, 683, 683–704 user controls and web parts, 1364–1367 validation controls, 124, 157–172 validation process, 159–160 ViewState property, 1127 web controls, 123, 136–150 web parts controls, 124, 1323 web server controls, 11 WebPartZone controls, 1319

Controls collection GenericWebPart class, 1334 HtmlForm class, 100

Page 22: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1536

Page class, 97–105 dynamic control creation, 103–105 page header, 101–103 showing control tree, 97–101

programmatically creating server controls, 132

UpdatePanel control, 1273 WebPart control, 1334

initializing custom web part, 1343 rendering custom web parts, 1346

Controls property Control class, 125 HtmlHead class, 102 WebPart class, 1332

controls, list of see also classes, list of Accordion, 740 AdRotator, 173, 173–174 Calendar, 173, 175–177 CatalogZone, 1320, 1322 ChangePassword, 899, 917–918 Chart, 1172–1187 CompareValidator, 163 ContentPlaceHolder, 722–724 CreateUserWizard, 899, 918–923 CustomValidator, 167–168 DetailsView, 451, 452–454 EntityDataSource, 607–614 FormView, 451, 454–456 GridView, 402–444 HtmlContainerControl, 127 HtmlControl, 127 HtmlInputControl, 128 ImageButton, 1143 ImageMap, 1143–1149 ListView, 444–451 Login, 855, 898, 899–910 LoginStatus, 898, 910–911 LoginView, 898, 911–912 Menu, 786–793 MultiView, 173, 738–742 ObjectDataSource, 369, 385–396 PasswordRecovery, 898, 912–917 QueryExtender, 615–619 RangeValidator, 162 RegularExpressionValidator, 163–166 RequiredFieldValidator, 162 RoleGroup, 911 ScriptManager, 1253 ScriptManagerProxy, 1253 SiteMapDataSource, 751, 752 SiteMapPath, 755–757 SqlDataSource, 369–385

Substitution, 173 Timer, 1280–1281 TreeView, 776–786 UpdatePanel, 1273–1280 UpdateProgress, 1281–1284 ValidationSummary, 168 View, 173 WebControl, 137 WebPartManager, 1319, 1321–1322 Wizard, 173, 742–751 Xml, 173 XmlDataSource, 665 XmlSiteMapProvider, 751

ControlStyle property GridView, 405 Wizard control, 748

ControlToCompare property, 163 ControlToValidate property, 161 Conversion Wizard, Visual Studio, 62 Convert class

encrypting query string, 1061 FromBase64String method, 1048 ToBase64String method, 1048

ConvertEmptyStringToNull property, 405 ConvertXmlTextToHtmlText method, 1140 cookie authentication, 857–858 cookieless attribute, web.config

forms tag, 861, 870 sessionState element, 264–265

cookieless forms authentication, 870 cookieless state

absolute links, 265 relative links, 264

cookieName attribute, sessionState, 264 cookieName property, roleManager, 978 CookieParameter tag

parameterized commands, 375 cookiePath property, roleManager, 978 cookieProtection property, 978 cookieRequireSSL property, 979 cookies, 254–255

forms authentication, 853, 859 cookieless forms authentication, 870 persistent cookies, 872–873

limitation of HttpBrowserCapabilities, 1125 overcoming statelessness, 78 removing, 255 retrieving, 254 secure coding, 839 setting, 254 state management options compared, 234 tracking session ID, 257

Cookies collection, 254

Page 23: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1537

Cookies Collection section, trace log, 115 Cookies property

HttpBrowserCapabilities, 1124 HttpRequest, 106 HttpResponse, 108

cookieSlidingExpiration property, roleManager, 979

cookieTimeout property, roleManager, 979 Copy Local property, Silverlight, 1474 Copy method

DataSet class, 334 File class, 529

Copy Web tab, Visual Studio, 817, 818 copying files, deployment by, 800–804

configuring deployment, 803–804 creating website, 801 deploying website, 801–803 preparing IIS, 800

copyright LegalCopyright property, 538

CopyTo method, FileInfo, 532 core assemblies for ASP.NET pages, 43 count function, XPath, 652 Count method, LINQ, 573 @Count parameter, stored procedures, 426 Count property, HttpSessionState, 258 CountEmployees method, 326 Crawler property, HttpBrowserCapabilities,

1124 $create alias, AJAX, 1303 CREATE EVENT NOTIFICATION command,

505 Create method

abstract encryption classes, 1039 creating controller, MVC, 1382–1383 File class, 529 FileInfo class, 531, 532 XmlReader class, 656

Create value, FileMode, 546 CreateAKey method, machineKey, 190 CreateChildControls method

composite controls, 1136, 1137, 1138 creating consumer web parts, 1358 creating custom web part editor, 1351 creating custom web parts, 1339, 1344 initializing custom web part, 1342, 1343 rendering custom web parts, 1346 user controls and web parts, 1364, 1366

CreateDecryptor method, 1039, 1040 CreateDirectory method, 528 CreatedUser event

accessing roles programmatically, 985 CreateUserWizard control, 921, 922, 923

CreateEditorParts method, 1354 CreateEncryptor method, 1039, 1040 CreateMembershipFromInternalUser method,

1094 CreateNavigator method, 639 CreateNew value, FileMode, 546 createPersistentCookie property, roleManager,

979 CreateRole method, 984, 1097 CreateStyleRule method, 102 CreateSubdirectory method, 531 CreateT factory method, 597 CreateText method, 529, 532 CreateUser method, 931, 932

implementing provider classes, 1084, 1087, 1088

using salted password hashes, 1091, 1093 CreateUserError event, 921 CreateUserIconUrl property, 904 CreateUserText property, 904 CreateUserUrl property, 904 CreateUserWizard control, 918–923

CreatedUser event, 921, 922, 923 events, 921 FindControl method, 923 security controls, membership API, 899 templates, 919

CreateUserWizardStep class, 919, 922 CreateWizardStep class, 919 CreateXMLHttpRequest function, 1234 CreateXyz methods, DbProviderFactory, 312,

313 CreatingUser event, 921 CreationTime property, 531 credentials

authentication, 841, 843, 844 creating custom login page, 864 forms authentication, 853, 867, 871 Kerberos authentication, 942 PrincipalPermission attribute, 974

credentials element, web.config, 862 hashing passwords, 869

Credentials section, Publish dialog box, 812 credentials store, web.config, 862, 871 cross-domain web service calls, Silverlight,

1512–1514 cross-page posting, 74, 110, 247–253

getting page-specific information, 249–250 IsCrossPagePostBack property, 251 IsPostBack property, 251 performing in event handler, 250–251 PostBackUrl property, 247 validation, 252–253

Page 24: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1538

cross-site scripting, 838, 1255 CRUD operations, MVC, 1377 CryptoAPI class, 1031 CryptoAPI functions

classes wrapping, 1036 CryptoAPI library, 1036, 1037 cryptography

encrypting data, 1031 encrypting query string, 1059–1064 encrypting sensitive data, 1041–1058

in database, 1054–1059 managing secrets, 1041–1043

generating strong random numbers, 1034 .NET support for, 1031

cryptography classes, 1035–1041 abstract encryption classes, 1039 asymmetric encryption algorithms, 1038,

1050–1053 CryptoStream class, 1040–1041 ICryptoTransform interface, 1039–1040 symmetric encryption algorithms, 1037–

1038, 1043–1050 SymmetricEncryptionUtility class, 1048–

1050 cryptography namespace, 1032–1035 cryptographySettings section, machine.config,

1047 CryptoStream class, 1039, 1040–1041

FlushFinalBlock method, 1047 Position property, 1041 reading and decrypting data, 1040 Seek method, 1041 using symmetric algorithms, 1047, 1048 writing and encrypting data, 1041

CryptoStreamMode enumeration, 1040 Crystal Reports Web Site template, 26 CSS (cascading style sheets), 705–709

anonymous access to stylesheets used by login page, 901

creating stylesheets, 705–708 fonts, web controls, 144 HTML server controls, 136 master pages with tables and CSS layout,

727–730 rules, 706–708

applying stylesheet rules, 708–709 precedence, 709

selectors, 708 using CSS in themes, 718

CSS Outline window, Visual Studio, 707 CSS overflow property, 147 CSS Properties window, Visual Studio, 709, 710 CSS style attribute, 131

CSS-based layout, 730 CssClass property

applying stylesheet rules, 708 creating CSS stylesheets, 705 GridView styles, 409 Login control, 900, 902 using CSS in themes, 718 WebControl, 138

CssStyle property, 708 Currency type format string, 407 current node

showing portion of site map, 758–759 Current property, HttpContext, 121, 1081, 1508 CurrentExecutionFilePath property, 107, 201 CurrentMode property, DetailsView, 453 CurrentNode property, SiteMap, 762 CurrentNodeStyle property, 757 CurrentNodeTemplate property, 757 CurrentStore property, 1084, 1087, 1095, 1098 CurrentUser flag, 1033, 1034, 1043 CurrentUserControlPath property, 1366 cursor

firehose cursor, 286 Focus method, 144

curves AddClosedCurve method, 1156 AddCurve method, 1156 DrawClosedCurve method, 1153 DrawCurve method, 1153 FillClosedCurve method, 1154

custom cache dependencies, 508–512 using message queues, 509–512

custom controls see also custom server controls client callbacks, 1244–1249 GDI+, 1167–1172 JavaScript, 1215–1225

pop-up windows, 1216–1221 rollover buttons, 1221–1225

Silverlight, 1514 custom cookies

state management options compared, 234 custom data components

profiles compared, 998 custom membership and roles providers

architecture, 1067–1069 creating, 1068, 1069–1105 creating and adding users to stores, 1084–

1088 design, 1069–1070 designing and implementing custom store,

1071–1078 implementing provider classes, 1078–1101

Page 25: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1539

XmlMembershipProvider, 1078–1095 XmlRoleProvider, 1095–1101

using custom provider classes, 1102–1105 debugging using WAT, 1103–1104 using custom providers with IIS 7.x,

1104–1105 using salted password hashes, 1091–1093 validating users on login, 1088–1091

Custom mode, sessionState element, 263 custom objects, using, 690–692 custom profile providers, 1017–1029

FactoredProfileProvider class, 1020–1029 initialization, 1021–1022 reading profile information, 1023–1024 updating profile information, 1025

custom server controls, 683, 1109–1120 see also custom controls; server controls adaptive rendering, 1126 adding reference to, 1113 browser type detection, 1122–1123

overriding, 1125 browser variations, 1121–1126 composite controls, 1136–1139 control state, 1129–1131 creating, 1110–1112 creating assembly for, 1109 creating label for specific data, 1139 creating web control supporting style

properties, 1115–1119 deploying compiled assembly, 1114 derived controls, 1139–1142 design-time support, 1109, 1114, 1115 detecting current browser configuration,

1123 extending web controls, 1136–1142 generating HTML for, 1109, 1110 HtmlTextWriter class, 1110, 1121–1122 HttpBrowserCapabilities class, 1123–1125 postbacks and change events, 1131–1134 rendering pages, 1169–1172 rendering process, 1119–1121 Toolbox, 1113–1115 triggering postbacks, 1134–1136 using, 1112–1113 view state, 1127–1129 ViewState property, 1127 Visual Studio, 1118

custom store designing and implementing, 1071–1078

custom verbs, web parts, 1363–1364 CustomError method, MVC, 1412 customErrors element, web.config, 196 CustomLineCap object, 1158

CustomPages folder, Dynamic Data, 1422, 1423, 1439

customProvider attribute, web.config, 263 CustomTemplates folder, Dynamic Data, 1439 CustomValidator control, 158, 167–168

■D -d switch, aspnet_regsql.exe, 889, 999 d namespace prefix, Silverlight, 1475 DashPattern property, Pens, 1158 DashStyle enumeration, 1158 DashStyle property, Pens, 1158 data

App_Data directory, 183 disconnected data, 330–331 Dynamic Data applications, 1415–1421 encrypting data, 1031 sending client-side data to server, 72 System.Data.dll assembly, 43 validating data, MVC, 1403–1408

data access see also ADO.NET building data access component, 317–330

avoiding wide-open queries, 318 concurrency strategies, 327–328 data package, 318–320 data utility class, 321–326 design, 318 error handling, 317 guidelines, 317–318 opening and closing connections, 317 separating code, 318 stateless design, 317 stored procedures, 320 testing database component, 328–330

ObjectDataSource control, 385 SequentialAccess value, 291 without ADO.NET, 273–274

data access class using DataSet in, 341

data access components profiles storing data, 997

data access logic disadvantages of SqlDataSource, 384

data binding, 331, 342, 351–367, 372–373 automatic data binding, 93 binding chart

to database table, 1179–1181 to LINQ, 1186–1187 to object datasource, 1181–1183 to XML file, 1184–1185

binding DataSet to control, 337

Page 26: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1540

binding to method, GridView, 434–435 binding to DataReader, 363–365, 372 binding to DataView, 367, 372 binding to site map, 754–755 calling web services, AJAX, 1261 configuring bindings for SSL, 849 custom expression builders, 355–358 data source controls, 351, 367–369

adding extra items to data-bound list, 397–400

DataBind method, 126 DataSet class, 332 DataTable class, 578 DataView class, 343 declarative nature of, 351 file-browsing application, 541, 545 filling GridView controls, 343, 344 ObjectDataSource control, 369, 385–396 page life cycle with, 368–369 Page.Load event, 373 Page.OnPreRenderComplete method, 373 Page.PreRender event, 373 repeated-value binding, 352, 359–367 rich data controls, 365–367 Silverlight, 1460 single-value binding, 352, 352–354 SqlDataSource control, 369–385 XmlDataSource control, 665

data binding expressions, 352–354 $ expressions compared, 355 binding to method, GridView, 435 creating JavaScript page processor, 1200 file-browsing application, 545 single-value binding, 352, 353

data binding, XML see XML data binding data bound controls

client IDs in GridView templates, 443 data caching, 476, 491–499

absolute expiration, 492, 493 adding items to cache, 491–494 cache priorities, 495–496 cache scavenging, 495 cache test, 494–495 data source controls, 496–499 dependencies, 491 ObjectDataSource, 499 sliding expiration, 492 SqlDataSource, 497–499 thread-safety, 491

data classes building data access component, 318 identifying with attributes, 396

data components profiles compared, 998

data controls, 124 data definition tasks, 285 data fields, validation

customizing Dynamic Data websites with metadata, 1451–1455

extensibility methods, 1454–1456 data manipulation tasks, 285 data model classes, 582–585

entity classes, 584–585 entity relationships, 586–587 ObjectContext class, 583–584

data model diagram, Visual Studio, 587 data model, generating

LINQ to Entities, 582 Data namespace, 277 data package

building data access component, 318–320 data properties, list controls, 359 Data property, XmlDataSource, 676, 779 data providers, 274–276

see also providers ADO.NET provider model, 275 ODBC provider, 275, 276 ODP.NET (Oracle), 275 OLE DB provider, 275, 276 provider-agnostic code, 311–315 SQL Server provider, 275, 276 SqlDataSource control, 369

data ranges, XML schemas, 626 data source caching, 476 data source controls, 351, 367–369

AccessDataSource control, 368 adding extra items to data-bound list, 397–

400 ASP.NET 2.0, 13 CacheDuration property, 496 CacheExpirationPolicy property, 496 CacheKeyDependency property, 496 cache-related properties, 496 caching with, 496–499

ObjectDataSource, 499 SqlDataSource, 497–499

calling web services, AJAX, 1261 configuring parameter binding at design

time, 376 EnableCaching property, 496 events, 389 GridView control, 374 IDataSource interface, 368 ObjectDataSource control, 368, 369,

385–396

Page 27: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1541

selecting records, 386–388 updating records, 392–396

page life cycle with data binding, 368–369 parameter types, 375 single-value binding, 352 SiteMapDataSource control, 368 SqlCacheDependency property, 496 SqlDataSource control, 368, 369–385

binding controls at design time, 371 deleting records, 383 disadvantages of, 384–385 error handling, 378 inserting records, 384 parameterized commands, 373–378 selecting records, 370–372 updating records, 379–380

XmlDataSource control, 368, 665 data store

consolidating access, MVC, 1390–1393 creating, membership API, 884 profiles, 996–997

Data tab, Visual Studio Toolbox, 368 data template IDs, 401 Data Toolbox tab, 37 data types

adding parameters with implicit data types, 301

animation, Silverlight, 1494 profiles and custom data types, 1008–1012

managing automatic saves, 1010–1012 serialization, 1009–1010

state management options compared, 234, 235

web services, AJAX, 1257 XML schemas, 626

data utility class building data access component, 321–326

DataAdapter class, 274, 334–342 connection-based objects, 277 DeleteCommand property, 334 Fill method, 334, 336 filling DataSet, 334, 335–337 filling multiple tables, 338 FillSchema method, 334 InsertCommand property, 334 interaction with data source, 335 searching for specific rows, 340 SelectCommand property, 334, 336 table relationships, 337–339 Update method, 334 UpdateCommand property, 334 using generic names for provider-specific

classes in this book, 274

database connection strings, web.config, 198 database connections, ADO.NET

connection pooling, 283–284 connection strings, 278–281 testing connections, 281–283 user instance connections, 280–281

database operations, 595–605 concurrency, 600–605 delete operations, 599 insert operations, 595–599 update operations, 599

database server user instance connections, 280

database utility class, 318 databases

binding chart to database table, 1179–1181 configuring connection strings, 892–893 creating, membership API, 886–892 dirty reads, 309 encrypting sensitive data in, 1054–1059 file-based SQL Server store, 892 nonrepeatable reads, 309 null values, 290 phantom rows, 309 publishing, web deploy approach, 810–811 referential integrity, 340 scripts for ASP.NET services, 890–892 SQL injection attacks, 294–297 tables used for profiles, 999–1000 transactions, 302–310

DataBind method binding chart to LINQ, 1187 Control class, 126 GridView, 342 ListControl class, 366 Page class, 344

$ expressions, 355 binding controls at design time, 372 custom expression builders, 358 data binding with DataReader, 365 repeated-value binding, 360 single-value binding, 352, 353, 354

repeated-value binding, 352, 360, 366 view state, 1128 XmlDataSource class, 666

DataBinder class Eval method, 414, 430, 431, 440

DataBindTable method, 1180 DataBindXY method, 1181, 1185 DataBindY method, 1176 DataBound event, GridView, 457, 458 data-bound list

adding items to, 397–400

Page 28: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1542

DataColumn class, 333 content-based objects, 277 Expression property, 348, 340

DataField property, BoundField, 404, 419 DataFile property, XmlDataSource, 676, 677 DataFormatString property, BoundField, 404,

406, 407 DataGrid class, Silverlight, 1473, 1474 DataItem class, 1182 DataItem property, 412, 430, 791 DataItemIndex class, 1358 DataKeyNames property, GridView

creating master-details form, 415, 416 deleting records, 383 displaying data, EntityDataSource, 610 getting related data, EntityDataSource, 612 retrieving users from membership store,

930 strict concurrency checking, 381

DataMember property, 152, 342 DataObject attribute, 397 DataObjectMethod attribute, 397 DataObjectTypeName property, 393 DataPager control, 450 DataProtectionScope enumeration, 1043 DataReader class, 274, 286–288

binding to, 363–365, 372 Close method, 287, 289 CloseConnection value, 290 connection-based objects, 277 FieldCount property, 287 GetBytes method, 465, 466 GetChar method, 287 GetDateTime method, 287, 289 GetInt32 method, 287 GetString method, 289 GetValue/GetValues methods, 287 handling errors, asynchronous pages, 518 Item property, 289 multiple asynchronous tasks and timeouts,

524 .NET nullable values, 290 NextResult method, 287 processing multiple result sets, 291–292 Read method, 287, 288 retrieving results with, 289 using caching with asynchronous tasks, 522 using generic names for provider-specific

classes in this book, 274 DataReader mode, SqlDataSource, 372

automatic paging, 424 binding to SqlDataSource, 431

DataRelation class calculated columns, 349 content-based objects, 277 creating table relationships, 338 using JOIN query or, 339

DataRow class, 333 accessing records, 338 content-based objects, 277 DataTable records, 333 Field(Of T) method, LINQ, 578 GetChildRows method, 338

DataRowExtensions class, 578 DataSet class, 274, 332–334

accessing records, 338 binding chart to XML file, 1184, 1185 binding DataSet to control, 337 binding to DataView, 367 caching with SqlDataSource, 497 Clear method, 334 Clone method, 334 content-based objects, 277 converting DataSet to XML, 678–679 Copy method, 334 creating typed DataSets, 1340–1341 data caching, 493 DataAdapter filling, 334, 335–337 disconnected data, 330–331 displaying contents of, 336 EnforceConstraints property, 340 GetXml method, 333, 677 GetXmlSchema method, 333, 677 InferXmlSchema method, 678 LINQ to DataSet, 14, 563, 577–580 Merge method, 334 methods, 333 ReadXml method, 334, 677, 678

binding chart to XML file, 1185 ReadXmlSchema method, 334, 678 Relations collection, 338 Relations property, 332 sorting with ObjectDataSource, 419, 420 standardization in ADO.NET, 276 table data contained in, 332 table relationships, 337–339 Tables collection, 333 Tables property, 332 typed DataSets, 580 updates with, 331 using in data access class, 341 web applications and, 331–332 web services, AJAX, 1258 WriteXml method, 333, 677, 678

Page 29: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1543

WriteXmlSchema method, 333, 678 XML and DataSet, 677–679 XML methods, 677–678 XML serialization, 332

DataSet mode, SqlDataSource, 372, 419 automatic paging, 424 binding to SqlDataSource, 431 caching with SqlDataSource, 498

DataSource property binding chart to object datasource, 1183 data binding, 342, 671 DropDownList control, 439 GridView, 342, 439, 671 list controls, 151, 359, 366 nested grids, XML data binding, 671 repeated-value binding, 352, 366 view state, 1128

DataSourceID property binding controls at design time, 371, 372 displaying data, EntityDataSource, 610 list controls, 359 ListBox, 371 GridView, 372, 610

DataSourceMode property, SqlDataSource, 372, 419, 498

datasources, binding chart to, 1181–1183 DataTable class, 333

accessing records, 338 binding to DataView, 367 CaseSensitive property, 344 DataAdapter filling, 335 DefaultView property, 343, 367 filtered/sorted representation of data in,

342 link to DataView, 419 Load method, 522 reading/writing XML, 678 record represented by, 333 repeated-value binding, 363 searching for specific rows, 340 Select method, 340, 341 sorting with ObjectDataSource, 419 SQL injection attacks, 341 using caching with asynchronous tasks, 522 web services, AJAX, 1258

DataTableExtensions class, 578 AsDataView method, 578, 579

DataTextField property binding controls at design time, 372 data binding with DataReader, 364 data binding with GridView, 366 list controls, 152, 359, 361, 372 repeated-value binding, 361

DataTextFormatString property list controls, 152, 359

DataTypeAttribute class, 1407 DataTypeCheck value, 163 DataValueField property

data binding with GridView, 366 list controls, 152, 359, 361 repeated-value binding, 361

DataView class, 342–350 binding chart to XML file, 1185 calculated columns, 348–350 data binding, 343 filtering, 345–347

with relationships, 347–348 link to DataTable, 419 repeated-value binding, 363, 367, 372 RowFilter property, 342, 345, 498 Sort property, 342, 343, 419 sorting, 343–344

with SqlDataSource, 419 date and time format strings, 408 Date type, JavaScript DatePicker class

Silverlight elements, 1472, 1474 DateTime class, 873 DayRender event, Calendar, 175, 176 DbDataFactories class, 314 DBNull.Value constant, 290

LINQ to DataSet, 580 passing null value to stored procedure, 302

DbProviderFactories class, 311, 312 DbProviderFactory.CreateXyz methods, 312,

313 DbProviders section, machine.config, 312 debug attribute, web.config, 195 debugging

enabling, web.config, 42 JavaScript, 1196–1197 projectless development, 59 testing event-handling logic, 42 Trace object, 114

debugging, Visual Studio, 22, 63–68 break mode, 64, 65, 66 breakpoints, 68 commands available in break mode, 66 single-step debugging, 64–66 tracing, 115 variable tracking windows, 67–68 Visual Studio Debug toolbar, 65 Web Development Helper tool, 68–70

decimals metacharacters for matching types of

characters, 165

Page 30: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1544

declarative nature of data binding, 351 declarative output caching, 476–478 declarative permissions, changing, 975 Decompress value, CompressionMode, 558 Decrypt method, FileInfo, 536 DecryptData method, 1045, 1046, 1048 decryptionKey attribute, machineKey, 190 Deep Zoom Composer tool, 1313 Deep Zoom feature, Silverlight, 1473 default doctype, Visual Studio, 86 default editor for files, 37 Default Web Site item, IIS Manager, 800 Default.ascx element template, Dynamic Data,

1425 Default.aspx page

creating ASP.NET website, 89 deploying website by copying files, 801 Dynamic Data, 1419, 1423, 1429

Default.aspx.vb file, 801 DefaultButton property, 146 DefaultContainerName property, 609 DefaultDetails route, MVC, 1386 DefaultEvent attribute

triggers, UpdatePanel, 1278 DefaultFocus property, Form, 145 DefaultMode property, DetailsView, 384, 453 defaultProvider attribute, web.config

configuring membership providers, 893 using custom cache provider, 490

defaultProvider property, roleManager, 978 defaultUrl attribute, web.config, 862, 864 defaultValue attribute, web.config, 1003 DefaultView property, DataTable, 343, 367 deferred execution, LINQ, 565 DeflateStream class, 557 delegation, 958–959

caution using, 959 configuration, IIS, 947, 948

denying access to anonymous users, 951 feature delegation, IIS, 948 Kerberos authentication, 942

Delete button operations on records, DetailsView, 453

Delete command concurrency strategies, 327 editing FormView, 456

delete database operations, 599 Delete method

Directory class, 528 DirectoryInfo class, 531 File class, 529 FileInfo class, 531

Delete method, MVC adding authentication, 1389 creating controller, 1384 modifying views, 1396

Delete Tab option, 38 DeleteCommand property

DataAdapter class, 334 SqlDataSource, 370, 379, 383

DeleteCommandType property, SqlDataSource, 370

Deleted event page life cycle with data binding, 369 SqlDataSource control, 378

DeleteEmployee method, 326 DeleteEmployee stored procedures, 320 DeleteInactiveProfiles method, 1013, 1019 DeleteMethod property, ObjectDataSource, 387 DeleteObject method, ObjectContext, 599 DeleteProfile method, 1013 DeleteProfiles method, 1013, 1019 DeleteRole method, 984, 1097, 1098 DeleteUser method, 932 Deleting event

ObjectDataSource control, 394 page life cycle with data binding, 369 SqlDataSource, 377

deleting records, SqlDataSource, 383 Demand method, PrincipalPermission, 973, 974 deny rule

IIS 7.x and forms authentication, 874 URL authorization, 966, 967, 971

dependencies aggregate dependencies, 501–502 cache dependencies, 499–507 custom cache dependencies, 508–512 data caching, 491 file and cache item dependencies, 500–501

DependencyChanged value, 504 DependencyDispose method, 509 deploying website see website deployment deployment, 11–12

ASP.NET 4, 17 project-based development, 60 projectless development, 59 website deployment, 799–819

Depth property, TreeNode, 781 derived controls, 1139–1142 DES (Data Encryption Standard)

machineKey element, 190 DES abstract algorithm class, 1037 DESC attribute

sorting, DataView, 344 descendant node, 651

Page 31: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1545

Descendants method, XElement, 653, 655 description metatag, 102 Description property

HtmlHead class, 102 IWebPart interface, 1335 SqlMembershipProvider, 894 SqlRoleProvider, 979 WebPart class, 1332

DESCryptoServiceProvider class, 1037 design view, Visual Studio, 28

connecting events to event handlers, 57 DesignDisplayMode, WebPartManager, 1327 DesignerGenerated attribute

web services, AJAX, 1257 design-time support

custom server controls, 1109, 1114, 1115 DestinationPageUrl property, Login, 904 Details action, Dynamic Data

constraining routes, 1436, 1437 route discovery by table, 1439 switching to single-page editing, 1437, 1438 using different templates for tables, 1438

Details method, MVC action results, 1412 adding view data, 1397 configuring routing, 1386 creating controller, 1382 error handling, 1387, 1388

Details MVC view adding view data, 1396 customizing, 1398 modifying views, 1394, 1395, 1396

Details.aspx, Dynamic Data, 1421 route discovery by table, 1439 using entity templates, 1425

Details.aspx, MVC, 1394, 1397 DetailsView control, 365, 451, 452–454

AllowPaging property, 452 AutoGenerateInsertButton property, 384 AutoGenerateRows property, 391 data binding, 373 DefaultMode property, 384 defining fields, 453 displaying data, 607, 610, 611 editing field using lookup tables, 462 editing related data, 612 inserting records, 384, 395 InsertVisible property, 384 ItemUpdated event, 472 operations on records, 453–454 PagingSettings property, 452 PagingStyle property, 452

updating records, 379 validation, 613

DetailsViewMode enumeration, 453 development

creating projectless website, 24 project-based development, 59–60

Device value, FileAttributes, 535 DHTML (Dynamic HTML), 1190 Dictionary class, 239 DictionaryEntry class, 493 DictionaryStructure class, 360 Digest authentication, 938, 939 Direction property

Parameter object, 300 WebPart class, 1332

directories controlling access, 969–970 CreateSubdirectory method, 531 creating virtual directories, 821 file-browsing application, 541 filtering files with wildcards, 536 GetDirectories method, 531 GetDirectoryName method, 540 RootDirectory property, 534 ShowDirectoryContents method, 543

Directory class, 527, 528–530 filtering files with wildcards, 536 methods, 528

directory classes see file system classes Directory property, FileInfo, 532 directory structure, application, 182–183 Directory value, FileAttributes, 535 DirectoryExists method, 825 DirectoryInfo class, 527, 530–533

Attributes property, 531, 535 Create method, 531 CreateSubdirectory method, 531 creating, 532 CreationTime property, 531 Delete method, 531 determining total size information, 533 Exists property, 531 Extension property, 531 file-browsing application, 542 filtering files with wildcards, 536 FullName property, 531 GetDirectories method, 531, 537 GetFiles method, 531, 537, 1166 LastAccessTime property, 531 LastWriteTime property, 531 Name property, 531 Parent property, 531

Page 32: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1546

passing information to dynamic images, 1166

Root property, 531 working with attributes of file system,

534–536 DirectoryName property, 532 dirty reads, databases, 309, 310 Disabled property, HtmlControl, 127 Disabled value, ViewStateMode, 243 disableExpiration attribute, web.config, 485 disableMemoryCollection attribute, 485 DisappearAfter property, Menu, 790 disassembling code, 7 disassembling tools, 1042 disconnected data, 330–331

concurrency, 331 DataColumn class, 333 DataRow class, 333 DataSet class, 332–334 DataTable class, 333

disk-based caching, 486 Display property, BaseValidator, 161 DisplayCancelButton property, Wizard, 746 DisplayFormat string

customizing Dynamic Data websites with metadata, 1448

DisplayMode property BulletedList, 156 ValidationSummary, 168 WebPartManager, 1327, 1328, 1361

DisplayName attribute, Dynamic Data changing display names, 1443, 1445 validating data fields, 1452

DisplayRememberMe property, Login, 904 DisplaySideBar property, Wizard, 742 DisplayTitle property, WebPart, 1332 Dispose method

asynchronous pages, 517 connections, 282 custom HTTP module, 229 graphics1151 HoverButton, 1301, 1302 IDisposable interface, 1297 ObjectDataSource, 389

Disposed event, 94, 186 distributed transactions, SQL Server, 306 div container

absolute positioning, 30 div element, 127

applying stylesheet rules, 708 Panel control class, 139 Silverlight entry page, 1465, 1466

DLL assembly creating custom HTTP handler, 219 Silverlight compilation process, 1463

dll files bin directory, 182 Windows applications, 179

DllImport attribute, 960 doctype (document type definition)

Visual Studio default, 86 XHTML 1.0 frameset, 84 XHTML 1.0 transitional, 83 XHTML 1.1 strict, 83, 84 XHTML compliance, 83–84

DOCUMENT object, Properties window, 713 document structure, XML schemas, 626 Document window, Visual Studio, 35, 37 document windows, draggable, 52 document.childNodes collection

debugging JavaScript, 1197 document.getElementById method

calling web services, AJAX, 1262 manipulating HTML elements, 1196

DocumentSource property, Xml, 662 DOM (Document Object Model), 1190–1191 domain attribute, web.config, 860, 862 domain authentication, 860 domain property, roleManager, 979 domains, application, 179–180 doPostBack function, JavaScript, 76, 77

immediate response events, 93 onchange attribute, 1192 triggering postbacks, 1134, 1135, 1190

Dotfuscator, 7 DotNetNuke website template, 26 DoubleAnimation class, 1494, 1500, 1501

Duration property, 1495 DoubleAnimationUsingKeyFrames class, 1495 DPAPI (data protection API) provider, 208, 1043 draggable document windows, Visual Studio,

52 DragPanelExtender control, AJAX, 1310 drawing

GDI+, 1150–1151 Graphics class, 1153–1154 model for .NET, 1149–1161 System.Drawing.dll assembly, 43

Drawing namespace, GDI+, 1149 Drawing2D namespace, GDI+, 1149 DrawPath method, 1153, 1156 DrawString method, 1151, 1154

rendering GDI+ custom controls, 1170 DrawXyz methods, 1153, 1154

Pen object, 1154, 1157

Page 33: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1547

DriveFormat property, 534 DriveInfo class, 527, 533–534 drives

GetDrives property, 534 GetLogicalDrives method, 528

DriveType property, 534 DropDownExtender control, AJAX, 1310 DropDownList control, 151

adding extra items to data-bound list, 397–400

DataSource property, 439 parameterized commands, 374 repeated-value binding, 359 selectable list controls, 152 SelectedIndex property, 439 SelectedValue property, 440

DropDownListFor method, MVC, 1396, 1402 DropShadowExtender control, AJAX, 1310 DSA abstract algorithm class, 1038 DSACryptoServiceProvider class, 1038 DTC (Distributed Transaction Coordinator),

306 durable caching, 487 durable transactions, 303 Duration attribute, OutputCache, 477 Duration property, Silverlight

Animation class, 1498 DoubleAnimation class, 1495

dynamic control creation, 103–105 Dynamic Data, ASP.NET, 18

controls, 124 creating applications, 1415–1421 DynamicData.dll assembly, 43 Entities Web Site template, 26 projects, 1421–1422 routes, 1432–1437

changing URL format, 1435 constraining routes, 1435–1437

Dynamic Data Toolbox tab, 38 Dynamic Data websites

creating, 1415–1418 customizing, 1422–1455 customizing with metadata, 1442–1450

custom field template, 1450 display names, 1443–1445 field formatting, 1448–1449 metadata classes, 1442 validation for data fields, 1451–1455 visibility, 1446–1448

customizing with routes, 1432–1441 single-page editing, 1437–1438 templates for tables, 1438–1441

customizing with templates, 1422–1432 default templates, 1422–1423 entity templates, 1424–1429 field templates, 1429–1432 page templates, 1423–1424

exploring, 1418–1421 dynamic graphics

custom controls that use GDI+, 1167–1172 embedding in web pages, 1162–1172 passing information to images, 1164–1166 using PNG format, 1163

Dynamic HTML (DHTML), 1190 dynamic user interface, 74–75 dynamically loading user controls, 697–701

portal frameworks, 698–701 dynamically setting master page, 733 DynamicControl class, 1427 DynamicData folder, 1421 DynamicDataRoute class, 1433

Action property, 1433 Constraints property, 1436 Model property, 1433 Table property, 1435 ViewName property, 1433

DynamicEntity control, 1425 DynamicHoverStyle property, 790 DynamicMenuItemStyle property, 790 DynamicMenuItemTemplate property, 791 DynamicMenuStyle property, 790 DynamicPanel control

asynchronous updates, 1273 client callbacks, 1245–1248 client page, 1249 Refresh event, 1249

DynamicPanelRefreshLink control asynchronous updates, 1273 client callbacks, 1248 client page, 1249 PanelID property, 1248

DynamicPopulateExtender control, AJAX, 1310 DynamicSelectedStyle property, 790

■E -E switch, aspnet_regsql.exe, 889, 891, 999 eager loading, LINQ to Entities, 592 EcmaScriptVersion property, 1124, 1230 Edit action, Dynamic Data, 1437, 1438, 1439 Edit Application dialog box, 828 Edit button

operations on records, DetailsView, 453 Edit command

editing FormView, 456

Page 34: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1548

Edit Function Import dialog box, 588 Edit link

updating records, SqlDataSource, 379 Edit method, MVC

adding to model, 1401, 1402 consolidating data store access, 1390 creating controller, 1383, 1384 validating data, 1404

Edit mode, DetailsView, 453, 454 Edit verb, 1364 Edit view, MVC

adding to model, 1398, 1400 validating data, 1404

Edit.aspx, Dynamic Data creating custom page template, 1424 route discovery by table, 1439 using entity templates, 1425

Edit.aspx, MVC adding to model, 1398, 1402 validating data, 1404

EditDisplayMode, WebPartManager, 1327 EditIndex property, GridView, 437 editing records see updating records EditItemTemplate property

FormView, 454, 456 GridView, 433, 437, 442 ListView, 445

Editor control, AJAX, 1313 editor web parts, 1350 EditorPart class, 1351, 1352, 1354 EditorWebZone control, 1348 EditorZone control, 1330, 1348, 1351 EditRowStyle property, GridView, 409 EFS (Encrypting File System), 536 Element method, XElement, 645, 646, 648 element tag, XML schemas, 627 elements

inserting, web.config, 808 removing, web.config, 809–810 selecting, XPath, 652 Silverlight, 1472–1473 well-formed XML, 624 XHTML compliance, 82

Elements method, XElement, 645, 646 LINQ to XML methods, 655

ElementsAfterSelf method, 653 ElementsBeforeSelf method, 653 ellipse

AddEllipse method, 1156 DrawEllipse method, 1153 FillEllipse method, 1154

Ellipse class, Silverlight, 1473 Ellipse element, Silverlight, 1484

e-mail addresses regular expressions, 166 valid addresses, 164

Email ID CreateUserWizard template, 920

embed tags script injection attacks, 1210

embedding dynamic graphics in web pages, 1162–1172

custom controls that use GDI+, 1167–1172 passing information to dynamic images,

1164–1166 using PNG format, 1163

EmployeeDB class, 321, 322, 328 EmployeeDetails class, 318, 323, 328 empty elements

well-formed XML, 624 Empty Web Application template, 805 EmptyDataRowStyle property, 409 EmptyDataTemplate property

FormView, 454 GridView, 433 ListView, 445

EmptyItemTemplate property, 445, 450 Enable remote connections option, IIS

Manager, 805 ENABLE_BROKER flag, notifications, 506 EnableCaching property, 373, 496 EnableClientScript property

BaseValidator, 161 RequiredFieldValidator, 253

enableCompression setting, web.config, 263 enableCrossAppRedirects attribute, 862 enabled attribute, web.config, 119 Enabled property

BaseValidator, 161 ListItem, 155 roleManager, 978 Timer control, 1281 WebControl, 138

Enabled value, ViewStateMode, 243, 244 EnableEventValidation attribute, 298 EnableEventValidation property, 1243 enableExport attribute, web.config, 1371 EnableHistory property, 1285 enableHtmlAccess parameter, 1468 EnablePageMethods property, 1263 EnablePaging property, 425 EnablePartialRendering property, 1273 enablePasswordReset property, 895 enablePasswordRetrieval property, 895 EnablePersistedSelection property, 401, 422,

425

Page 35: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1549

EnableSecureHistoryState property, 1287 EnableSession property, 1258 EnableSortingAndPagingCallbacks property,

429, 435 EnableTheming attribute, Page directive, 719 EnableTheming property, 715 enableViewState attribute, 243 EnableViewState property, 78, 92, 243, 244

Control class, 125 control state, 1129 GridView, 613 Label, 94, 96 optimizing UpdatePanel, 1279 performance of MultiView pages, 742

enableViewStateMac attribute, 244 EnableViewStateMAC property, 244 encapsulation, server-based controls, 10 encoding

HTML encoding, 112–113 SSL, 850 text encoding, 548 URL encoding, 112–113, 247

Encoding class, 1047 Encrypt method, FileInfo, 536 EncryptData method, 1045, 1046, 1052 Encrypted value, FileAttributes, 535 EncryptedQueryString class, 1060

creating test page, 1063 ToString method, 1060, 1061, 1062

encryption, 842 abstract classes, 1039 asymmetric encryption, 846

algorithms, 1038, 1050–1053 command-line encryption, 210 configuration sections, 208–210 CryptoStream class, 1040–1041 data, 1031

in database, 1054–1059 managing secrets, 1041–1043 sensitive data, 1041–1058

files, 536 ICryptoTransform interface, 1039–1040 machineKey element, 189 .NET cryptography namespace, 1032–1035 profiles, 998 programmatic encryption, 209–210 protection attribute, forms tag, 861 query string, 1059–1064 RegisterRequiresViewStateEncryption

method, 245 symmetric encryption, 846

algorithms, 1037–1038, 1043–1050

SymmetricEncryptionUtility class, 1048–1050

view state, 245 ViewStateEncryptionMode property, 245

EncryptPassword method, 1088 End event, 186, 188

SessionStateModule, 259 EndCap property, Pens, 1158 EndExecuteReader method, 518, 520, 522, 523 EndPageLoad function, JavaScript, 1201 EndpointAddress object, Silverlight, 1512 EndRead class

BeginRead method, 515 EndReader method, SqlDataReader, 515 EndRequest event

HttpApplication, 183, 184, 185 PageRequestManager, 1276, 1278, 1299

EndRequestEventArgs class, 1299 EndTask method, 517, 522 EnforceConstraints property, DataSet, 340 EnsureChildControls method, 1344 Enter key

DefaultButton property, HtmlForm, 146 enterprise services

System.EnterpriseServices.dll assembly, 43 entities

HTML entities, 112 LINQ to Entities, 14, 563, 581–595

entity classes creating partially populated classes, 597 insert database operations, 595 inserting associated entities, 597–599 LINQ to Entities, 584–585

Entity Data Model Browser window, 587 Entity Data Model Wizard, 582 Entity Framework data model

binding chart to LINQ, 1187 creating model, MVC application, 1378 database operations, 595

concurrency, 600–605 handling concurrency conflicts, 601

delete database operations, 599 insert database operations, 595–599 LINQ to Entities, 581

data model classes, 582–585 generating data model, 582

modifying views, MVC, 1394 optimistic concurrency model, 600 stored procedures, 587 update database operations, 599 validation, EntityDataSource, 614 viewing SQL queries, 589

Page 36: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1550

entity relationships LINQ to Entities, 586–587 one-to-many relationships, 586 one-to-one relationships, 587

entity templates, Dynamic Data, 1422 customizing websites, 1424–1429

EntityCollection class delete database operations, 599 explicit loading, LINQ to Entities, 593 insert database operations, 595 one-to-many relationships, 586, 587

EntityDataSource control, 607–614 displaying data, 607–611 editing related data, 612–613 getting related data, 611–612 QueryExtender control, 615–619 validation, 613–614

EntityDataSourceValidationException class, 614

EntityReference(Of TEntity), 587 EntitySetName property, 609 EntityTemplates folder, Dynamic Data, 1422,

1425, 1427 entry page, Silverlight, 1465–1469 enum keyword, 1257 EnumerableRowCollection(Of T) class, 579 enumeration data types, 1257 enumerations

CacheItemPriority 495, 496 CacheItemRemovedReason, 504 ClientIDMode, 88 CommandBehavior 290 CommandType 285 CompressionMode 557, 558 ConfigurationSaveMode 202 CryptoStreamMode 1040 DashStyle 1158 DataProtectionScope 1043 DetailsViewMode 453 FileAccess 553 FileAttributes 534, 535 FileMode 546 HtmlTextWriterAttribute 1111 HtmlTextWriterStyle 1111 HtmlTextWriterTag 1111 HttpCookieMode 264 IsolationLevel 308 JsonRequestBehavior 1411 PageAction 1433 ProfileAuthenticationOption, 1013 RefreshMode 602, 603 StoreLocation, 1033, 1034 TreeViewImageSet 786

UnitType 141 web controls, 142 WindowsBuiltInRole 952, 953 WizardStepType 743

@@ERROR value, 305 error 500.21, 804 Error event

HttpApplication, 187 using PrincipalPermission attribute, 974,

975 error handling

adding, MVC application, 1387–1389 asynchronous pages, 518–520 building data access component, 317 catching unhandled errors, 188 Common Language Runtime, 8 SqlDataSource control, 378 UpdatePanel, 1275–1276

Error List window, Visual Studio, 35, 38–40 Error type, AJAX, 1294 error underlining, Visual Studio, 48 ErrorMessage property

BaseValidator, 161, 162, 168, 169 Dynamic Data, 1451 MVC, 1408

errors Application_Error event, 186, 188 canonicalization error, 539 RAISERROR statement, 306 transactions, 305, 306

Eval method, DataBinder, 414, 430, 431, 440 event attributes, JavaScript

adding declaratively, 1193 embedding, 1189, 1190, 1192 script blocks, 1194

event bubbling, 436 event compatibility tables, 1191 event handlers

see also handlers Application_OnEndRequest, 184 connecting events to, 57–58 creating for Button.Click event, 41 global.asax application file, 183 PageFlow example, 95 performing cross-page posting in, 250–251 private or protected, 96

event handling ASP.NET web forms, 93 dragging circles on Silverlight Canvas, 1485 events from other modules, 231 GridView template, 436–437 Silverlight, 1479 server-side events, 133–136

Page 37: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1551

testing logic, 42 web control events, 147–150 user controls, 686–687

event models, 75 event validation, 298

disabling, Ajax, 1242–1243 EnableEventValidation attribute, 298

EventArgs class adding events to user control, 693 calling web services, Silverlight, 1511 handling web control events, 149

event-driven model, 75 EventLog class, 229 EventName attribute, AsyncPostBackTrigger,

1278 events

adding, user controls, 693–696 application events, 185–188 ASP.NET, 41 Authenticate event, 858, 899 automatic postbacks, 76–77 change events, 93 client-side events, JavaScript, 1191–1193 connecting to event handlers, 57–58 CreateUserWizard control, 921 data source controls, 389 EndRequest event, 183, 184 HTML Control Events, 133 immediate response events, 93 Login control, 907–908 onmouseover event, 1191, 1192 onxyz events, 1191 PasswordRecovery control, 914 postbacks and change events, 1131–1134 ServerChange event, 133, 134–136 ServerClick event, 133, 134–136 SqlDataSource control, 377, 378 using PrincipalPermission attribute, 974 web control classes, 139 when task is finished, 389 while task is underway, 389 Wizard events, 746–747

Exception class Message property, 297

exception classes, 282 ArgumentException, 614 EntityDataSourceValidationException, 614 IndexOutOfRangeException, 287 InvalidCastException, 287 InvalidOperationException, 282 MembershipCreateUserException, 883 NoSuchRecordException, 1388 NotImplementedException, 1018, 1297

NotSupportedException, 499 OdbcException, 282 OleDbException, 282 OptimisticConcurrencyException, 601, 602,

603, 604 OracleException, 282 SecurityException, 530 SerializationException, 558 SqlException, 282 XmlSchemaValidationException, 657

Exception property SqlDataSourceSelectingEventArgs, 378 SqlDataSourceStatusEventArgs, 384

ExceptionHandled property, 378 exceptions

handling errors, UpdatePanel, 1275 ExceptionType property, 1388 exclusive locks, 308 .exe files, Windows, 179 ExecuteNonQuery method, 286, 294, 301 ExecuteReader method, 286, 287–288, 290, 465 ExecuteScalar method, 286, 293 Exists method

Directory class, 528 File class, 529

Exists property, 531 ExpandDepth property, TreeView, 777 Expanded property, TreeNode, 777 ExpandImageUrl property, TreeView, 782, 785 expiration parameters, 492 Expired value, CacheItemRemovedReason, 504 Expires property, HttpResponse, 108 ExpiresAbsolute property, HttpResponse, 108 explicit loading, LINQ to Entities, 593–594 explorer windows, Visual Studio

Server Explorer, 40 Solution Explorer, 36–37

Export verb, 1370 ExportMode property, WebPart, 1332, 1368,

1371 expression builders, data binding, 355–358 Expression Editor, 610 Expression property, DataColumn, 340, 348 Expression Web, Microsoft

configuring hotspots in, 1144 ExpressionBuilder class, 356 expressions

$ expressions, 354–355 custom expression builders, 355–358 data binding expressions, 352–354 LINQ expressions, 567–577 showing result as ordinary text, 355

extenders see control extenders, ASP.NET AJAX

Page 38: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1552

extensibility, 623 extensibility methods, Dynamic Data, 1454–

1456 extensible caching, 17 extensible metadata, CLR, 8 extension methods, LINQ, 573, 575–576

AsDataView, 578, 579 AsEnumerable, 578 Field(Of T), 578 Include, 592 LINQ to DataSet, 654 LINQ to SQL, 654 LINQ to XML, 654 Select, 575, 576 SelectMany, 587 using XPath searches with XDocument, 653

Extension property DirectoryInfo class, 531 FileInfo class, 531

Extensions class, 653 LINQ to XML methods, 655 Validate method, 658

F FactoredProfileProvider class, 1020–1029

coding, 1021–1025 designing, 1020–1021 Initialize method, 1021–1022 reading profile information, 1023–1024 testing, 1026–1029 updating profile information, 1025

factory classes DbProviderFactories class, 311 OracleClientFactory class, 311 SqlClientFactory class, 311

factory method entity classes, LINQ to Entities, 584

factory model provider-agnostic code, 311–312

creating objects with factories, 312–313 queries with provider-agnostic code, 313

FailureAction property, Login, 904 FailureText control, Login, 909 FailureText ID

Login template, 907 PasswordRecovery template, 916

FailureText property, Login, 903 FailureTextStyle property, Login, 902 feature delegation, 948 field formatting, Dynamic Data websites

customizing sites with metadata, 1448–1449

field properties entity classes, LINQ to Entities, 584

field templates, Dynamic Data websites customizing sites with metadata, 1450 customizing sites with templates,

1429–1432 Field(Of T) method, LINQ, 578

LINQ to DataSet, 580 FieldCount property, DataReader, 287 fields

defining, DetailsView, 453 editing using lookup table, 461–463 formatting, GridView, 407–408

FieldTemplates folder, Dynamic Data, 1422 customizing websites with metadata, 1450 customizing field templates, 1429

figures CloseFigure method, 1157 StartFigure method, 1157

file access objects locking, 556–557

file and cache item dependencies, 500, 501 file authorization, 972 File class, 527, 528–530

methods, 529 ReadAllBytes method, 529, 549 ReadAllText method, 529, 549

file management project-based development, 59 projectless development, 59

file mappings, IIS, 799 file system

file-browsing application, 541–546 working with attributes, 534–536 working with file system, 527–546

file system classes Directory class, 527, 528–530 DirectoryInfo class, 527, 530–533 DriveInfo class, 527, 533–534 File class, 527, 528–530 FileInfo class, 527, 530–533 Path class, 538–540

File System type, Choose Location dialog box, 26

file type, input tag, 129 FileAccess enumeration, 553 FileAttributes enumeration, 534, 535 FileAuthorizationModule class, 972 file-browsing application, 541–546 FileBuildPart property, 537 FileCopy application, 831 FileCopy directory, 800, 801, 804 FileDescription property, 538

Page 39: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1553

FileExists method, VirtualPathProvider, 823, 824 FileInfo class, 527, 530–533

Attributes property, 531, 535 CopyTo method, 532 Create method, 532 CreateText method, 532 creating, 532 CreationTime property, 531 Decrypt method, 536 Delete method, 531 Directory property, 532 DirectoryName property, 532 Encrypt method, 536 Exists property, 531 Extension property, 531 file-browsing application, 541, 544 FullName property, 531 LastAccessTime property, 531 LastWriteTime property, 531 Length property, 532, 541 MoveTo method, 531 Name property, 531, 1166 Open method, 532 OpenRead method, 532 OpenText method, 532 OpenWrite method, 532 passing information to dynamic images,

1166 Refresh method, 531, 533 working with attributes of file system, 534–

536 FileList property, 269 FileMajorPart property, 537 FileMinorPart property, 537 FileMode enumeration, 546, 552 FileName property, 537, 1097 filenames, creating unique, 553–556 FilePath property, 107, 353 FilePrivatePart property, 537 FileResult class, MVC, 1410 files

ASP.NET file types, 36 controlling access, 970 default editor, 37 encryption, 536 extending configuration file structure,

204–208 creating section class, 204–206 registering section class, 206–208

filtering with wildcards, 536 GetFileName method, 540 GetFileNameWithoutExtension method, 540 GetFiles method, 531

global.asax application file, 183–188 machine.config file, 189–191 multiple users accessing, 552–557

locking file access objects, 556–557 creating unique filenames, 553–556

reading and writing with streams, 546–558 binary files, 549–550 text files, 547–549 uploading files, 550–552

reading XML files, 632–635 retrieving version information, 537 serialization, 558–561 Solution Explorer, 36 web.config file, 191–195 working with file system, 527–546 writing XML files, 628–632

FileStream class, 546, 547 BeginRead method, 515 Close method, 547 compression, 557 constructor, 546, 552 FileMode enum, 546 Lock method, 553

FileSystemInfo class, 530 FileUpload control, 139, 550

PostedFile property, 551 using on page with UpdatePanel, 1276

FileVersion property, 537 FileVersionInfo class

GetVersionInfo method, 537, 545 properties, 537–538

Fill method, DataAdapter, 334, 336 FillBehavior property, Animation, 1498, 1503 FillClosedCurve method, 1154 FillEllipse method, 1154 FillPath method, 1154, 1156 FillPie method, 1154 FillPolygon method, 1154 FillRectangle method, 1150, 1154 FillRectangles method, 1154 FillSchema method, DataAdapter, 334 FillXyz methods, Graphics, 1154, 1160 filter operators, 345 Filter option, breakpoints, 68 FilteredTextBoxExtender control, AJAX, 1310 filtering

caching with SqlDataSource, 498, 499 DataView class, 345–347

with relationships, 347–348 files with wildcards, 536 LINQ expressions, 569–570 LINQ to DataSet, 579 Pascal case filtering, 49

Page 40: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1554

filtering too late LINQ to Entities queries, 590–591

filtering, Visual Studio, 49–50 navigation tools using, 51

filters MVC, 1387 MethodExpression filter, 618–619 PropertyExpression filter, 617–618 QueryExtender control, 615–619 RangeExpression filter, 616–617 SearchExpression filter, 615–616

Filters folder, Dynamic Data, 1422 finally block

releasing connections promptly, 282, 283 $find alias, ASP.NET AJAX, 1303 FindAll method, List (Of T) class, 1094 FindControl method

Control class, 126, 909, 916, 917 CreateUserWizard control, 923 dynamically loading user controls, 697 encrypting sensitive data in databases, 1055 LoginView, 1055 MasterPage class, 733 Page, 104, 105, 170, 697 PasswordRecovery templates, 916, 917 programming Login control, 909 using validators programmatically, 170

FindInactiveProfilesByUserName method, 1014, 1019

FindProfilesByUserName method, 1014, 1019 FindSiteMapNode method, 762 FindUsersByEmail method, 1094 FindUsersInRole method, 984 FindUsersInRoles method, 1100 FinishButtonClick event, Wizard, 746, 747 FinishNavigationTemplate property, 749 FinishPreviousButtonStyle property, 748 firehose cursor, 286 firewall configuration, FTP, 816 FirstBulletNumber property, 156 FirstDayOfWeek property, 176 FirstPageText property, 429 Fixed Decimal type format string, 407 Flash

Silverlight compared, 1457, 1459–1460 flexibility, XML, 623 Flush method, StreamWriter, 548 FlushFinalBlock method, 1047 focus

DefaultFocus property, 145 managing with access keys, 146 SetFocusOnError property, 161

web controls, 144–146 WebForm_AutoFocus method, 145

Focus method, web controls, 144–146 folders

Add ASP.NET Folder submenu, 37 themes, 711

Font object drawing with GDI+, 1150 rendering GDI+ custom controls, 1170

Font property, web controls, 138, 143–144 FontInfo object, 143, 1150 fonts, web controls, 143–144 FooterRow property, 456 FooterStyle property, 405, 409 FooterTemplate property, 433, 454 FooterText property, 404 For Each block, LINQ, 564, 565 ForeColor property, WebControl, 138 foreign key constraints

adding support for, MVC, 1393 entity relationships, LINQ, 586 navigation properties, 584

Form collection, 74 DefaultFocus property, 145 view state, 78

form feed, metacharacter matching, 164 Form property, HttpRequest, 107 form tag, 72, 73

ASP.NET, 74 HtmlForm control class, 128

Format HTML on Paste option, Visual Studio, 33 Format Selection command, Visual Studio, 33 format strings, 407

numeric, 407 time and date, 408

formatting defining personal rules, 32 master pages, 726

formatting GridView, 406–414 formatting fields, 407–408 formatting-specific values, 412–414 styles, 408–412

Formatting property, XmlTextWriter, 629 Formatting settings, HTML, 33 FormParameter tag, 376 forms

see also web forms HTML forms, 72–74

forms authentication, 853–859 ASP.NET AJAX application services,

1265–1267 security, 1269

classes, 858–859

Page 41: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1555

configuring, 859–863 membership API, 884, 885–886

controlling appearance of login forms, 855 controlling authentication code, 855 controlling role access, URL authorization,

970 controlling user access, URL authorization,

968 cookie authentication, implementing,

857–858 cookieless forms authentication, 870 cookies, 853

persistent cookies, 872–873 creating custom login page, 864–870

cookieless forms authentication, 870 hashing passwords in web.config,

869–870 logging out, 868

creating login interface, 856 credentials, 862, 867 custom credentials store, 871 denying access to anonymous users,

863–864 IIS 7.x and, 873–879 implementing, 859–873 intercepting network traffic, 857 Login control, 855, 899 login controls, 124 machineKey element, 189 maintaining user details, 856 membership API, 856, 857, 881 process illustrated, 854 reasons against, 856–857 reasons for, 854–856 replay attack, 857 storing user information, 855 ticket-based system, 853 web.config file, 859–863 working with range of browsers, 855

Forms Collection section, trace log, 115 forms tag, web.config, 859–862 FormsAuthentication class, 858

Authenticate method, 867, 868 creating custom login page, 864, 867, 868 GetAuthCookie method, 872, 873 GetRedirectUrl method, 873 HashPasswordForStoringInConfigFile

method, 869 RedirectFromLoginPage method, 899, 900

controlling user access, URL authorization, 968

creating custom login page, 867, 868

custom credentials store, 871 persistent cookies, 872

SetAuthCookie method, 872 SignOut method, 868, 872

FormsAuthenticationEventArgs class, 858 FormsAuthenticationModule class, 858, 859,

860 Authenticate event, 858 defaultUrl attribute, 862 IIS 7.x, 878, 991, 993

FormsAuthenticationTicket class, 859 FormsIdentity class, 859 FormView control, 365, 451, 454–456

data binding, 373 editing with CommandName property, 455,

456 file-browsing application, 544 inserting records, 384 template model, 454 updating records, 379

Forward button browser history, 1284, 1286

FPSE (Front Page Server Extensions), 804 fragment caching see partial caching frame-based animation, Silverlight, 1494 frames, 1225–1228

frame navigation, 1225–1227 iframe tag, 1227 inline frames, 1227–1228 standardizing website layout, 721 XHTML compliance, 82

Frames property, HttpBrowserCapabilities, 1124

frameset doctype, XHTML, 84 framework version

creating projectless website, 24–25 FrameworkElement class, 1482 free space

AvailableFreeSpace property, 534 DriveInfo class, 533, 534 TotalFreeSpace property, 534

friendly URLs, 774 From clause, LINQ expressions, 567 From property, Animation, 1498, 1506 FromBase64String method, 1048 FromFile method, Image, 1165 FromImage method, Graphics, 1150 FromXml method, 1052 Front Page Server Extensions (FPSE), 804 FTP deployment approach, 813–819

creating website, 814 deploying project-less website, 817–819 deploying website, 815–816

Page 42: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1556

firewall configuration, 816 preparing IIS, 813–814

FTP Site type. Choose Location dialog, 27 FTPDeploy directory, 815 FullName property, 531, 542 Function type, AJAX, 1294 functions, JavaScript, 1190

closures, 1290–1291 namespaces, 1295–1296 script blocks, 1193, 1194

■G GAC (global assembly cache), 182 gacutil.exe utility, 799 garbage collection, CLR, 8 gatekeepers, 839–840 GDI+, 1143, 1149–1161

Brushes class, 1160 custom controls using, 1167–1172 drawing with, 1150–1151 Graphics class, 1149, 1153–1156 GraphicsPath class, 1156–1157 image format and quality, 1151–1153 namespaces, 1149 passing information between pages, 1172 Pens class, 1157–1159 performance, 1162 rendering pages, 1169–1172 using in ASP.NET, 1149

General settings, HTML, 33 General Toolbox tab, 38 GenerateKey method

abstract encryption classes, 1039 AsymmetricAlgorithm, 1051, 1052 SymmetricEncryptionUtility, 1050 SymmetricAlgorithm, 1045

GenericWebPart class connecting web parts, 1356 Controls collection, 1334 creating custom web part editor, 1354 creating web parts, 1330, 1331 implementing IWebPart interface, 1335,

1337 $get alias, ASP.NET AJAX, 1262, 1303 Get method, OutputCacheProvider, 487, 488,

489 get_isLoggedIn method, 1266 get_message method, 1262 get_roles method, 1268 get_stacktrace method, 1262 GetAccessControl method, 528, 529 GetAllEmployees method, 341

GetAllEmployees stored procedures, 320 GetAllInactiveProfiles method, 1013, 1019 GetAllProfiles method, 1013, 1019 GetAllRoles method, 984 GetAllUsers method, 930 GetAnonymous method, 954 GetAttributes method, 529 GetAuthCookie method, 872, 873 GetBytes method

DataReader, 465, 466 HexEncoding, 1062 UTF-8 encoding, 1048

GetCacheDependency method, 825 GetCallbackEventReference method, 1241 GetCallbackResult method, 1239, 1246 GetCallbackScript method, 1248 GetChar method, DataReader, 287 GetChildNodesDescr method, 636, 637, 639 GetChildRows method, 338 GetClrVersions method, 1124 GetCodeExpression method, 356 GetCoordinates method, 1148 GetCreationTime method, 528, 529 GetCurrent method, WindowsIdentity, 954, 962 GetCurrentDirectory method, 528 GetData method, 1182 GetDateTime method, 287, 289 GetDescriptionFromTitle method, 791, 792 GetDirectories method, 528, 531, 537 GetDirectoryName method, 540 GetDrives property, 534 getElementById method, 1196, 1262 GetElementsByTagName method, 648, 649,

650, 651 GetEmployee method, 323 GetEmployee stored procedures, 320 GetEmployees method, 323 GetFactory method, 311 GetFile method, 823, 824 GetFileFromDB function, 824 GetFileHash method, 825 GetFileName method, 539, 540, 554 GetFileNameWithoutExtension method, 540 GetFilePath function, 353 GetFiles method, 528, 531, 537, 1166 GetFullPath method, 540 GetHierarchicalView method, 672 GetHistory method, Wizard, 747 GetImageUrl method, 1166, 1206 GetInt32 method, 287 getInterfaces method, 1293 GetLastAccessTime method, 528, 529 GetLastError method, 111

Page 43: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1557

GetLastWriteTime method, 528, 529 GetLogicalDrives method, 528 GetNumberOfInactiveProfiles method, 1013,

1019 GetNumberOfProfiles method, 1013 GetNumberOfUsersOnline method, 1095 GetOutputCacheProviderName method, 490 GetParent method, 528 GetPassword method, 931 GetPathRoot method, 540 GetPostBackEventReference method, 1134,

1224 GetProfile function, 1012 GetPropertyValue method, 1004 GetPropertyValues method, 1018, 1023, 1024 GetRandomNumber method, 356, 357 GetRedirectUrl method, 873 GetRole method, 1078, 1099 GetRolesForUser method, 984 GetRolesForUsers method, 1100 GetRouteUrl method, 776 GetSection method

Configuration class, 201 ConfigurationManager, 206 WebConfigurationManager, 200, 201, 202

GetSiteMap stored procedure, 770 GetStore method, 1073, 1074 GetString method

DataReader class, 289 HexEncoding, 1062 UTF-8 encoding, 1048

getType method, JavaScript, 1294 getTypeName method, 1294, 1295 GetUser method

Membership, 928 UserStore, 1093 XmlMembershipProvider, 1095

GetUserByName method, 1093 getUserProcedure attribute, 1020 GetUsersInRole method, 985 GetValidators method, 171 GetValue method, DataReader, 287, 292 GetValues method, 287 GetVaryByCustomString function, 480 GetVersionInfo method, 537, 545 GetXml method, DataSet, 333, 677 GetXmlDocument method, 666, 677 GetXmlSchema method, 333, 677 GetXNavDescr method, 640 GIF format, GDI+, 1151 global application class, 184 Global Application Class template, 184 global application file, ASP.NET, 36

global resources App_GlobalResources directory, 183

global themes, 711 global.asax application file, 180, 183–188

application events, 185–188 event handlers, 183 HttpApplication.EndRequest event, 183, 184 methods, 183 separating content of, 184

global.asax event handler, 266 global.asax file, 36

changing URL format, routes, 1435 configuring routing, MVC, 1385, 1386 custom caching, 480 managing automatic saves, 1010, 1011 shared application variables, 268, 269

global.asax file, Dynamic Data, 1422 constraining routes, 1435, 1437 creating website, 1417 switching to single-page editing, 1437 using different templates for tables, 1438,

1441 globalization element, web.config, 407 GradientLabel class, GDI+, 1167, 1168–1169,

1170 graphics

see also GDI+ Chart control, 1172–1187

creating charts, 1172–1178 populating chart with data, 1179–1187

embedding dynamic graphics in web pages, 1162–1172

custom controls that use GDI+, 1167–1172 passing information to dynamic images,

1164–1166 using PNG format, 1163

ImageMap control, 1143–1149 Graphics class, 1149, 1153–1156

Dispose method, 1151 DrawIcon method, 1153, 1154 DrawImage method, 1153, 1154 DrawPath method, 1153, 1156 DrawString method, 1151, 1154, 1170 DrawXyz methods, 1153–1154

Pen object, 1154, 1157 FillPath method, 1154, 1156 FillRectangle method, 1150, 1154 FillXyz methods, 1154

Brush object, 1154, 1160 FromImage method, 1150 MeasureString method, 1170 passing information to dynamic images,

1165

Page 44: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1558

SmoothingMode property, 1152 TextRenderingHint property, 1152

GraphicsPath class, 1149, 1156–1157 AddXyz methods, 1156–1157 StartFigure method, 1157 Transform method, 1157 Warp method, 1157 Widen method, 1157

greater-than symbol (>) &gt; entity, HTML, 112

greedy matching, 1140 Grid class, Silverlight, 1473, 1481 Grid layout container, Silverlight, 1488–1494

Column property, 1489 ColumnDefinitions collection, 1488, 1489 fine-tuning rows and columns, 1490–1491 nesting layout containers, 1491–1492 Row property, 1489 RowDefinitions collection, 1488, 1489 ShowGridLines property, 1488, 1489 spanning rows and columns, 1493

grid layout mode absolute positioning, 29

GridLines property, 406 GridSplitter class, Silverlight, 1473, 1474 GridView control, 365, 402–444

adding web parts to pages, 1324 AllowPaging property, 424 AllowSorting property, 418, 419 AutoGenerateColumns property, 402, 403

displaying full list of users, 1014 AutoGenerateDeleteButton property, 383 AutoGenerateEditButton property, 379, 437 automatic column generation, 402, 403 bound to DataTable with filters, 346 BoundField properties, 404 Caption property, 406 CaptionAlign property, 406 CellPadding property, 406 CellSpacing property, 406 ClientIDMode property, 443 ClientIDRowSuffix property, 443, 444 code-free scenarios, 402 column types, 402 Columns collection, 403 concurrency conflicts, detecting, 469–474 configuring cell spanning, 458 creating custom web parts, 1343, 1345 customizing Dynamic Data websites with

templates, 1422 data binding, 373 data source controls, 374 DataBind method, 342

DataBound event, 457, 458 DataKeyNames property, 415, 416

deleting records, 383 strict concurrency checking, 381

DataMember property, 342 DataSource property, 342 DataSourceID property, 372 defining columns, 402–406 deleting records, 383, 395 displaying binary data, 464–465 displaying data, EntityDataSource, 607, 610,

611 downloading images asynchronously, 1203,

1204 EditIndex property, 437 editing field using lookup table, 461–463 EnablePersistedSelection property, 422, 425 EnableSortingAndPagingCallbacks

property, 429, 435 EnableViewState property, 613 file-browsing application, 541–544 filling through data binding, 343, 344 filtering with relationships, 348 FooterRow property, 456 formatting fields, 407–408 formatting GridView, 406–414 formatting-specific values, 412–414 getting related data, EntityDataSource, 611 GridLines property, 406 hiding columns, 403 implementing provider web parts, 1357,

1358 inserting records, 384 integrating images with other content,

466–469 nested grids, XML data binding, 671 nonhierarchical binding, XML, 666, 667 PageIndex property, 424 PageIndexChanged property, 424 PageIndexChanging property, 424 PagerSettings property, 424, 428 PagerStyle property, 424, 428 PageSize property, 424, 426 paging, 423–430

automatic paging, 423–424 custom pagination with

ObjectDataSource, 425–428 customizing pager bar, 428–430 paging and selection together, 425

parent/child view in single table, 458–460 passing information to dynamic images,

1164, 1165, 1166 processing multiple result sets, 292

Page 45: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1559

properties supporting paging, 423 reading binary data efficiently, 465–466 regenerating GridView columns, 403 repeated-value binding, 366–367 retrieving users from membership store,

928 RowCommand event, 418, 436, 694 RowDataBound event, 412, 435, 460 RowUpdating event, 440 scrolling GridView, 406 SelectedDataKey property, 415, 416 SelectedIndex property, 415, 418 SelectedIndexChanged event, 415, 417, 418 SelectedIndexChanging event, 415 SelectedValue property, 463 selecting rows, 414–418

master-details form, 415–417 using data field as Select button, 418

serving images from database, 463–469 ShowFooter property, 456 Sort method, 422 sorting and paging callbacks, 429 Sorting event, 422 sorting GridView, 418–423

programmatic sort, 422 sort and select at same time, 421 with ObjectDataSource, 419–421 with SqlDataSource, 419

style properties, 408 styles, 408–412

configuring with Visual Studio, 411–412 defining, 409–411

summaries, 456–458 triggering postbacks, 1134 updating records, 379, 380 using UpdatePanel with, 1279 XPath data binding expressions, 668

GridView templates, 379, 430–444 AlternatingItemTemplate property, 433 binding to a method, 434–435 client IDs in, 443–444 editing templates in Visual Studio, 433 editing with templates, 437–443 editing without command column, 441–443 EditItemTemplate property, 433 EmptyDataTemplate property, 433 FooterTemplate property, 433 handling events in, 436–437 HeaderTemplate property, 433 InsertItemTemplate property, 433 ItemTemplate property, 430, 432, 433 PagerTemplate property, 433

using multiple templates, 432–433 GridViewRow control

DataItem property, 412 Group clause, LINQ expressions, 571 grouping

LINQ expressions, 571–573 ListView control, 448–450

GroupItemCount property, 448 groups

authorization, IsInRole method, 973 controlling role access, 970, 971 profile groups, 1007–1008

GroupSeparatorTemplate property, 445 GroupTemplate property, 445, 449 Guest role, WindowsBuiltInRole, 953 GUID (global unique identifier), 553, 554 GZipStream class, 557

■H HACK comment/token tag, 35, 40 HandleError filter, MVC, 1387, 1388 Handler Mappings summary screen, 831, 832 handlers

see also event handlers; HTTP handlers asynchronous handlers, 226, 227 integrated pipeline, 831–833

handlers element, web.config, 196 Handles clause, 95 Handles keyword, VB, 695 handling errors

asynchronous pages, 518–520 handling events from other modules, 231 HasChanged property, CacheDependency, 508 HasChildNodes property, XmlNode, 639 HasControls method, 126 HasExtension method, Path, 540 hash codes

salted password hashes, 1034 view state, 244, 245

hash value, Digest authentication, 939 HashAlgorithm class, 1036 hashes

salted password hashes, 1091–1093 hashing passwords in web.config, 869–870 HashPasswordForStoringInConfigFile method,

869, 1093 Hashtable collections

repeated-value binding, 360 HasSharedData property, WebPart, 1332 HasUserData property, WebPart, 1333 HatchBrush class, 1160

Page 46: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1560

head element applying stylesheet rules, 708 using CSS in themes, 718

head tag accessing, 101 server-side control, 102

header control creating user control, 684–686

HeaderImageUrl property, 404 headers

adding different metatag to, 102 HtmlHead class, 130 page header, 101–103

Headers Collection section, trace log, 115 Headers property, HttpRequest, 107 HeaderStyle property

GridView, 405, 408 Wizard control, 748

HeaderTemplate property FormView, 454 GridView, 433 Wizard control, 749

HeaderText property BoundField, 404 Wizard control, 748

Height property RowDefinition, 1491 WebControl, 138

helper methods, MVC, 1396 HelpMode property, WebPart, 1333, 1350 HelpPageIconUrl property, 905 HelpPageText property, 904 HelpPageUrl property, Login, 904 HelpUrl property, WebPart, 1333, 1334, 1350 HexEncoding class, 1062 Hidden property, WebPart, 1333 hidden type, input tag, 129 Hidden value, FileAttributes, 535 HiddenField control, 139 hierarchical binding with TreeView, 672–674 hierarchy see inheritance hierarchy highlighting, variable, 50 history see browser history Hit Count option, breakpoints, 68 HomeController class, MVC

adding authentication, 1389 configuring routing, 1386 modifying Site.Master file, 1385

HorizontalPadding property, TreeNodeStyle, 782

HotSpot class custom hotspots, 1146–1149 properties, 1145

HotSpotMode property, 1145 hotspots

CircleHotSpot class, 1144 PolygonHotSpot class, 1144 RectangleHotSpot class, 1144

HotSpots collection, 1143 HotSpots property, 1144, 1145 hotspots, ImageMap, 1144–1149

creating, 1144–1145 custom hotspots, 1146–1149 disabling, 1145 handling clicks, 1145–1146 overlapping hotspots, 1145

hover event, HoverButton, 1302, 1303 HoverButton class, 1300, 1301, 1303 hoverHandler delegate, 1301 HoverMenuExtender control, AJAX, 1310 HoverNodeStyle property, TreeView, 784 HRef property, HtmlAnchor, 131 HTML

CheckBoxFor method, MVC, 1395 Dynamic HTML, 1190 events of HTML objects, 1191 generating for custom controls, 1110 InnerHtml property, 127 properties of HTML objects, 1196 representing controls in, 72 structuring HTML markup, 32–34 transforming XML to, 662 ValidationSummary method, MVC, 1405 XHTML compliance, 82–87

HTML controls ASP.NET, 10 events, 133

HTML DOM, 1190–1191 manipulating HTML, JavaScript, 1195

HTML element, configuring, 31 HTML encoding, 112–113 HTML entities, 112

InnerText property, 127 HTML Formatting settings, Visual Studio, 33 HTML forms, 72–74

submitting pages, 76 HTML frames, 721 HTML General settings, Visual Studio, 33 HTML helper methods, MVC, 1396 HTML Miscellaneous settings, Visual Studio, 33 HTML server controls, 123, 126–136

change events, 136 classes, 128–130 CSS for style attributes, 136 handling server-side events, 133–136 inheritance hierarchy, 126

Page 47: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1561

programmatically creating server controls, 131–133

quick migration to ASP.NET, 136 runat="server" attribute, 128 setting style attributes, 130, 136 user interface elements, 136 web controls compared, 140

HTML tables designing web pages with Visual Studio, 31 web site reference for, 728

HTML Tabs settings, Visual Studio, 33 HTML tag attributes, 1111 HTML tags, 31

creating custom controls, 1111 server controls, 123

HTML Toolbox tab, 38 HTML Validation settings, Visual Studio, 33 Html32TextWriter class, 1121, 1122 HtmlAnchor class, 128

HRef property, 131 HtmlButton class, 128 HtmlContainerControl class, 127 HtmlControl class, 127

events, 133 HtmlControls namespace, 126 HtmlDecode method, 111, 113 HtmlEncode method, 100, 111, 113

creating label for specific data, 1140 secure coding, 838

HtmlEncode property, BoundField, 405 HtmlForm class, 128

Controls collection, 100 DefaultButton property, 146

HtmlGenericControl class, 123, 127, 129 HtmlHead class, 103, 130

accessing head tag, 101, 102 properties, 102 web forms changes in ASP.NET 4, 71

HtmlImage class, 128 HtmlInputButton class, 128 HtmlInputCheckBox class, 129 HtmlInputControl class, 128 HtmlInputFile control class, 129

uploading files, 550 using on page with UpdatePanel, 1276

HtmlInputHidden class, 129 HtmlInputImage class, 129 HtmlInputPassword class, 129 HtmlInputRadioButton class, 129 HtmlInputReset class, 129 HtmlInputSubmit class, 129 HtmlInputText class, 129, 130 HtmlMeta class, 102, 130

HtmlSelect class, 129 repeated-value binding, 359

HtmlTable class, 129 HtmlTableCell class, 129 HtmlTableRow class, 129 HtmlTextArea class, 129 HtmlTextWriter class

AddAttribute method, 1111 AddStyleAttribute method, 1111 browsers and custom server controls,

1121–1122 creating custom controls, 1110 methods, 1111 RenderBeginTag method, 1110, 1111 RenderEndTag method, 1110, 1111 rendering custom web parts, 1346 Write method, 1110

avoiding, 1122 WriteAttribute method, 1112 WriteBeginTag method, 1111 WriteEndTag method, 1112

HtmlTextWriterAttribute enumeration, 1111 HtmlTextWriterStyle enumeration, 1111 HtmlTextWriterTag enumeration, 1111 HtmlTitle class, 130 HTTP Basic authentication, 926 HTTP context

accessing in another class, 120–121 HTTP handlers, 217–219

see also handlers asynchronous handlers, 226, 227 building Ajax-style page, 1232, 1233 configuration-free handlers, 221–222 configuring, 220–221 creating, 219–220, 222–224

for non-HTML content, 224–227 custom controls using GDI+, 1167 integrating images with other content, 466–469 launching, Visual Studio, 221 registering, 217 session state, 227 SQL cache dependencies, 504

HTTP modules, 227–228 creating custom HTTP modules, 229–231 IIS 7.x pipeline, 946 Windows authentication, 949

HTTP Modules configuration feature, 877, 878 HTTP modules pipeline, 991

configuring IIS 7.x, 944 HTTP pipeline, extending, 217–230

HTTP handlers, 217–224 for non-HTML content, 224–227

HTTP modules, 227–231

Page 48: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1562

HTTP POST operation, 73 HTTP requests

authorization rules, 966 HttpApplication class

AuthenticateRequest event, 229 EndRequest event, 183, 184 Error event, 187 handling events from other modules, 231 shared application variables, 268

HttpApplicationState class, 106, 266 HttpBrowserCapabilities class, 106, 1123–1125

properties, 1123–1124 HttpCachePolicy class, 108, 481 HttpClientCertificate object, 106 HttpContext class

accessing context in another class, 121 accessing Session object, 227 Current property

creating web services, Silverlight, 1508 implementing provider classes, 1081

Items collection, 1011 SetSessionStateBehavior method, 233

HttpCookie object, 254 HttpCookieMode enumeration, 264 httpErrors element, web.config, 196 HttpExtensions.dll assembly, 230 HttpForbiddenHandler, 218 httpHandlers element, 217, 221 HttpModule class, 858 httpModules element, 228, 229 HttpPostedFile class

SaveAs method, 551 HttpRequest class, 106

Browser property, 1123 properties, 106 UserAgent property, 1123

HttpResponse class, 108 cross-page postbacks, 248 members bypassing control model, 109 methods, 108, 109 moving between pages, 110–111 properties, 108, 109 WriteSubstitution method, 482, 483, 484

httpRuntime element, web.config maxRequestLength attribute, 552 request validation, 1211, 1215

HttpServerUtility class, 111 HtmlEncode method, 111, 1140 UrlEncode method, 111, 247, 1060

HttpSessionState class, 106, 257 methods, 258 properties, 257–258

HttpUtility class HtmlEncode method, 838

HyperLink attribute, 1119 HyperLink control, 139, 246 HyperLink property, 1127, 1129 HyperlinkButton class, 1472 HyperLinkField column, GridView, 402 hyperlinks

BulletedList control, 151 Login control, 903

HyperLinkStyle property, 902

■ I -i switch, aspnet_regsql.exe, 891 I/O completion port feature

asynchronous pages, 513, 515 IAsyncResult class, 515

handling errors, 518, 520 querying data, 517 using caching, 521

IButtonControl interface, 146, 741 ICallbackContainer interface, 1247 ICallbackEventHandler, 1238, 1242, 1245 ICollection interface, 363 icons

DrawIcon method, 1153, 1154 ICryptoTransform interface, 1039–1040 id attribute

themes, 711 XHTML compliance, 82

ID property Control class, 125, 697 Label control, 94

IDataSource interface, 368 IDbCommand interface, 285 IDbConnection interface, 276, 278 IDbTransaction interface, 306, 310 @@IDENTITY function, 299 Identity column

application pools, IIS, 827 identity element, web.config, 959 Identity property, WindowsPrincipal, 952 identity values

handling in inserts, ObjectDataSource, 394–396

IdentityReference class, 955–957 Translate method, 955 Value property, 956

IDisposable interface, 1297 IDs in data templates

ASP.NET 4 changes in data controls, 401

Page 49: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1563

IEnumerable(Of T) interface, LINQ, 565, 566, 573

IFormatter interface, 559 iframe element, Silverlight entry page, 1466 iframe tag, 1227 IGrouping(Of TKey, TElement) interface, 571,

572 IHttpAsyncHandler interface, 513 IHttpHandler interface

creating custom HTTP handler, 219 Integrated pipeline mode, 830 ProcessRequest method, 466

IHttpModule interface, 229 IIS (Internet Information Services)

application pools, 181, 826 application warm-up feature, 829 authentication configuration, 944 configuring, 797–799 configuring membership in IIS 7.x, 923–927

membership providers, 923–925 users, 925 using membership API with other

applications, 925–927 configuring SSL in IIS, 847–850

configuring bindings for SSL, 849 encoding information with SSL, 850

HTTP modules, 228 IIS 7.x and forms authentication, 873–879 installing, 795–797 processing requests, 830 registering HTTP handlers, 218, 219 Server Certificates feature, 847, 848 SSL binding configuration in IIS, 850 website deployment, 795, 799

copying files approach, 800 FTP deployment approach, 813, 814 web deploy approach, 805

Windows authentication, 935 configuring IIS 7.x, 944–946 IIS 7.x pipeline, 946–950

IIS 7.x authorization and roles in, 988–994 authorization with ASP.NET roles in,

991–993 configuring roles providers with, 994 managing ASP.NET roles with, 993–994 URL authorization feature, 989 using custom providers with, 1104–1105

IIS 7.x management console configuring forms authentication, 874, 876 HTTP Modules configuration feature, 877,

878

IIS 7.x pipeline HTTP modules, 946 Windows authentication, 946–950 WindowsAuthenticationModule, 946

IIS file mappings website deployment, 799

IIS management console see IIS Manager tool IIS Manager tool

application pools, 826–829 configuring application warm-up, 829–830 configuring connection strings, 892 configuring handlers, 831–833 configuring IIS, 797–799 configuring IIS 7.x, 944 creating virtual directories, 821 creating websites, 820–821 denying access to anonymous users, 950 deploying website

copying files approach, 801, 803, 804 FTP deployment approach, 815

incompatibility with .NET framework, 923 machineKey element, 191 managing ASP.NET roles with IIS 7.x, 993 managing websites, 820–830 preparing IIS for deployment by copying

files, 800 preparing IIS using web deploy, 805 Server View, 797, 798 Sites item, 798 Start Page, 797 starting and stopping application pools, 828 using custom providers with IIS 7.x, 1105

IL (Microsoft Intermediate Language), 4, 6 ildasm.exe (IL Disassembler), 7, 1042 Image control class, 139

Dispose method, 1151 embedding dynamic graphics, 1162 FromFile method, 1165 ImageUrl property, 1162 Save method, 1151, 1162 Silverlight elements, 1472 src property, JavaScript, 1225 stacked image controls, 1143

image type, input tag, 129 ImageButton control, 139, 1143

handling click events with, 149 handling events in GridView, 436

ImageClickEventArgs object, 149 ImageField column type, GridView, 403 ImageFormat namespace, 1149 ImageMap control, 139, 1143–1149

adding to form, 1144 Click event, 1145–1146

Page 50: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1564

defining clickable regions, 1144 handling click events with, 150 HotSpotMode property, 1145 hotspots, 1144–1149

creating, 1144–1145 custom hotspots, 1146–1149 disabling hotspots, 1145 handling clicks, 1145–1146 overlapping hotspots, 1145

HotSpots collection, 1143 HotSpots property, 1144, 1145 ImageUrl property, 1144 stacked image controls, 1143

ImageMap designer, Visual Studio, 1144 images

creating HTTP handler for non-HTML content, 225

downloading asynchronously, 1203–1208 DrawImage method, 1153, 1154 dynamic, passing information to, 1164–1166 format and quality, GDI+, 1151–1153 integrating with other content, 466–469 rollover buttons, JavaScript, 1221, 1224 serving from database, 463–469 skins, 717 temporary, using placeholders as,

1203–1208 TreeView control, 785–786

Images subdirectory, 60 ImageSet property, TreeView, 786 ImageToolTip property, TreeNode, 778 ImageUrl element, Advertisement file, 174 ImageUrl property

Image control embedding dynamic graphics, 1162 single-value binding, 353

ImageMap control, 1144 MenuItem class, 787 TreeNode class, 778 TreeNodeStyle class, 782 TreeViewNode class, 785

Imaging namespace, GDI+, 1149 img tag

custom controls using GDI+, 1167 embedding dynamic graphics, 1162 HtmlImage control class, 128 Image control class, 139

Impersonate method, WindowsIdentity, 954, 960, 961

impersonation, 841, 957–962 configured impersonation, 957, 959 delegation and, 958–959 Kerberos authentication, 942

Local Security Policy management console, 957 privileges, 958 programmatic impersonation, 957, 960–963

getting tokens, 960–961 performing impersonation, 961–963

implementsInterface method, 1293 implicit data types

adding parameters with, 301 import statements

creating custom web parts, 1341 ImportCatalogPart class, 1367, 1372 Impressions element, Advertisement file, 174 In keyword, From clause, LINQ, 567 IN operator, DataView, 345 INamingContainer interface, 88, 1137 Include method, LINQ to Entities, 592 Include property, EntityDataSource, 611 IncludeStyleBlock property, Menu, 793 Indentation property, XmlTextWriter, 629 index

SelectedIndex property, 151 SelectedIndexChanged event, 152 TabIndex property, 138

Index method, MVC, 1379, 1380 configuring routing, 1386 testing incomplete application, 1381

Index view, MVC adding to model, 1401 creating, 1380–1381 modifying views, 1396

IndexOf method, Array, 440 IndexOutOfRangeException class, 287 InferXmlSchema method, DataSet, 678 Inherit value

ClientIDMode, 89 ViewStateMode, 243

inheritance configuration inheritance, 193–194 JavaScript, 1296–1297

inheritance hierarchy HTML server controls, 126 server controls, 124 web controls, 137

Inherits attribute, ASP.NET, 55 inheritsFrom method, 1293 init event, Application, 1299 Init event, Page see under Page class Init method, IHttpModule, 229 Initial Catalog value, connection string, 280 initialization

custom profile providers, 1021–1022 page framework initialization, 91 user code initialization, 92

Page 51: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1565

initialization vector (IV) using symmetric algorithms, 1047

Initialize method FactoredProfileProvider, 1021–1022 HoverButton, 1301, 1302 OutputCacheProvider, 487, 490 ProviderBase, 1018, 1021–1022 SiteMapProvider, 765 XmlMembershipProvider, 1079, 1080 XmlRoleProvider, 1096

initializeBase method HoverButton, 1300 JavaScript, 1297

InitializeComponent method, 1478 initializeRequest event, PageRequestManager,

1299 InitializeRequestEventArgs class

Cancel property, 1299 InitialValue property, RequiredFieldValidator,

162 initParams parameter, Silverlight, 1468 inline code model, Visual Studio, 53, 55 inline frames, 1227–1228 in-memory bitmap

drawing with GDI+, 1149, 1150 in-memory XML processing, 635–648

XDocument class, 642–648 XmlDocument class, 636–639 XPathNavigator class, 639–642

inner web control exposing, user controls, 696–697

InnerHTML property HtmlContainerControl, 127 JavaScript, 1195, 1196

InnerHtml tag, 113 InnerText property

HtmlContainerControl, 127 JavaScript, 1195

InnerText tag, 113 INotesContract interface, 1356 InProc mode, sessionState element, 259 input controls

Focus method, 144 HtmlInputButton class, 128 HtmlInputCheckBox class, 129 HtmlInputControl class, 128 HtmlInputFile class, 129 HtmlInputHidden class, 129 HtmlInputImage class, 129 HtmlInputPassword class, 129 HtmlInputRadioButton class, 129 HtmlInputReset class, 129 HtmlInputSubmit class, 129

HtmlInputText class, 129, 130 postbacks and change events, 1131–1134

input tag, 72 HtmlInputControl class, 128 HtmlInputText class, 130 web control classes, 139

input validation controls see validation controls Insert action, Dynamic Data, 1437, 1438, 1439 Insert button

operations on records, DetailsView, 453 Insert command

editing FormView, 456 insert database operations, 595–599

creating partially populated entity classes, 597

inserting associated entities, 597–599 Insert method, Cache object, 492

custom cache dependencies, 509 expiration parameters, 492

Insert mode, DetailsView, 453 Insert value, Transform attribute, 808 Insert.aspx, Dynamic Data

route discovery by table, 1439 using entity templates, 1425

InsertCommand property DataAdapter, 334 SqlDataSource, 370, 379, 384

InsertCommandType property, 370 Inserted event

page life cycle with data binding, 369 SqlDataSource control, 378, 384

InsertEmployee function, 323 InsertEmployee stored procedure, 320 Inserting event

ObjectDataSource control, 394 page life cycle with data binding, 369 SqlDataSource, 377

inserting records, SqlDataSource, 384 InsertItemTemplate property

FormView, 454, 456 GridView, 433 ListView, 445

InsertMethod property, ObjectDataSource, 387 InsertVisible property, 384, 405 installation scripts, 890, 891 instance methods, 322 InstructionText property, Login, 903 InstructionTextStyle property, 902 integrated authentication, 799 integrated development environment

Visual Studio IDE, 34–41 integrated mode, IIS 7.x, 876 Integrated pipeline mode

Page 52: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1566

application pools, IIS, 827 creating application pools, 827 extending pipeline, 830–833

configuring handlers, 831–833 processing requests, 830

integrated security, connection strings, 279 integrated web server, Visual Studio, 21 Integrated Windows authentication, 938,

940–944 Kerberos authentication, 941–944 NTLM authentication, 940–941 protocols, 940

integrity, 842 levels of security, 840

IntelliSense, Visual Studio, 47 filtering, 49–50 navigation tools using filtering, 51 Visual Studio 2010 improvements, 49–50

interfaces ADO.NET objects, 313 JavaScript, 1297–1298

intermediate language (MSIL), 4, 6 InternalName property, FileVersionInfo, 538 Internet Information Services see IIS interop assembly

using component through Bin directory, 215 interpreted languages, 4 interrupted updates, UpdatePanel, 1277–1278 Intersect method, PrincipalPermission, 974 Interval property, Timer, 1280 Into keyword, Group clause, LINQ, 571 InvalidCastException class, 287 InvalidOperationException class, 282 IP address menu, Add Web Site dialog, 820 IPostBackDataHandler interface, 1131, 1132,

1134 IPostBackEventHandler interface, 1222, 1224,

1135 IReadOnlySessionState interface, 227 IRequiresSessionState interface, 227 IS NULL operator, DataView, 345 IsAnonymous property, WindowsIdentity, 953 IsAsyncPostBack property, ScriptManager, 1286 IsAuthenticated property, HttpRequest, 107 IsAuthorized property, 1374 IsCallback property, Page, 1244 IsClientConnected property, HttpResponse,

108 IsClientScriptBlockRegistered method, 1223 IsClosed property, WebPart, 1333 IsCookieless property

HttpSessionState, 258 Session object, 265

IsCrossPagePostBack property, 251 IsDebug property, FileVersionInfo, 538 IsEnabled property, Trace, 115 IsGuest property, WindowsIdentity, 953 IsInRole method

accessing roles programmatically, 986 authorization checks in code, 972–973 merging PrincipalPermission objects, 974 RolePrincipal class, 981 WindowsPrincipal class, 952, 974

isInstanceOfType method, 1293 IsLoaded method, EntityCollection, 593 IsLocal property, HttpRequest, 107 IsLockedOut property, MembershipUser, 931 IsNavigating property, ScriptManager, 1286 IsNewSession property, HttpSessionState, 258 ISO Sortable Standard type format string, 408 isolated transactions, 303 isolation levels, transactions, 308–309 IsolationLevel enumeration, 308, 309 IsPatched property, FileVersionInfo, 538 IsPathRooted method, Path, 540 IsPostBack property, Page, 92, 105, 251

client callbacks, 1244 IsPreRelease property, FileVersionInfo, 538 IsPrivateBuild property, FileVersionInfo, 538 IsReady property, DriveInfo, 534 IsReusable property, IHttpHandler, 219 IsSecureConnection property, HttpRequest,

107 isSensitive parameter, Personalizable attribute,

1369 IsShared property, WebPart, 1333 IsSpecialBuild property, FileVersionInfo, 538 IsStandalone property, WebPart, 1333 IsStartupScriptRegistered method, JavaScript,

1223 IsStatic property, WebPart, 1333 IsSystem property, WindowsIdentity, 953 IsUserInRole method

Roles class, 985 RoleService, 1268 XmlRoleProvider, 1100

IsValid method, MVC, 1408 IsValid property

BaseValidator, 161 CustomValidator, 167 ModelState, 1404 Page, 92, 172, 252, 253, 867

IsValidRequestString method, 1214, 1215 Italic property, FontInfo, 143 Item property, DataReader, 289 item removed callback, 502–504

Page 53: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1567

Items collection, HttpContext, 1011 Items property

ListControl, 151 Menu class, 787

ItemSeparatorTemplate property, ListView, 444 ItemStyle property, GridView, 405 ItemTemplate property

FormView, 454, 456 GridView, 430, 432, 433, 441, 444 ListView, 444, 447, 449

ItemUpdated event, DetailsView, 470, 472 iterator class, 568 iterator object, LINQ, 565, 566, 568 IUSR account, 959 IWebEditable interface, 1353, 1354 IWebPart interface, 1335–1338

properties, 1335, 1336 IXPathNavigable interface, 668

■J JavaApplets property, HttpBrowserCapabilities,

1124 JavaScript, 1189–1209

adding attributes declaratively, 1193 Ajax, 1229–1236 alert function, 1192 client-side events, 1191–1193 client-side libraries, AJAX, 1288 confirmSubmit function, 1208 creating page processor, 1199–1203 custom controls, 1215–1225 debugging, 1196–1197 doPostBack function, 1134, 1135 downloading images asynchronously,

1203–1208 Dynamic HTML, 1190 embedding, 1189 event attributes, 1189, 1192, 1193 extended types in AJAX, 1294 functions and methods, 1190 HTML DOM, 1190–1191 inadvertently executing block of, 113 limitation of HttpBrowserCapabilities, 1125 manipulating HTML elements, 1195–1196 object-oriented programming in, 1289–1298

base types, 1294–1295 closures, 1290–1291 inheritance, 1296–1297 interfaces, 1297–1298 namespaces, 1295–1296 prototypes, 1292 registering classes with AJAX, 1293–1294

OnClientClick property, 1193 pop-up windows, 1216–1221 prototype property, 1292 Render method, 1218 rollover buttons, 1221–1225 script blocks, 1189, 1193–1195

rendering, 1208–1209 script injection attacks, 1210–1215 testing for support in browser, 1230 UI Framework, 1289 writing client-side scripts, Ajax, 1240, 1241

JavaScript classes, 1288 JavaScript extensions, 1288 Javascript method, MVC, 1410 JavaScript language extensions

ASP.NET AJAX, 1252 JavaScript property, HttpBrowserCapabilities, 1124 JavaScript proxy, 1260, 1264 JavaScriptResult class, MVC, 1410 JIT (just-in-time) compilation, 4 JOIN queries

using DataRelation object or, 339 JPEG format

image format and quality, GDI+, 1151 .js files

debugging JavaScript, 1197 src attribute, script blocks, 1195

JSON (JavaScript Object Notation) web services, AJAX, 1255

JSON data, returning action results, MVC, 1410–1411

Json method, MVC, 1410 JsonDetails method, MVC, 1411 JsonRequestBehavior enumeration, MVC, 1411 JsonResult class, MVC, 1410 just-in-time compilation (JIT), 4

■K KDC (key distribution center), 942 Kerberos authentication, 940, 941–944

authentication tickets, 942 credentials, 942 delegation, 942 impersonation, 942 KDC, 942 master key, 942 session keys, 942 session tickets, 942 ST (session ticket), 942 TGT (ticket-granting ticket), 942 tickets, 942 Windows authentication, 946

Page 54: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1568

key exchange symmetric encryption algorithms, 1037

key frame animation, Silverlight, 1495 Key property

DictionaryStructure class, 360 IGrouping interface, 572 SymmetricAlgorithm class, 1045

keyboard events, Silverlight, 1479 keys

AccessKey property, 138 asymmetric key pair, 845 certificates, SSL, 845 machineKey element, 189–191 private keys, SSL, 845, 846 public keys, SSL, 845, 846 secret keys, 846 session keys, 846 symmetric key, 846, 847

Keyword element, Advertisement file, 174 KeywordFilter property, AdRotator, 174 keywords metatag, 102 Keywords property, HtmlHead, 102 keywords, LINQ, 564, 565

■L Label control, 74, 139

AssociatedControlID property, 146 creating label for specific data, 1139 CssStyle property, 708 handling special characters, 113

LabelStyle property, Login, 902 lambda expressions, VB, 574, 576 Language Integrated Query see LINQ language mixing

projectless development, 59 Language property, FileVersionInfo, 538 LastAccessTime property, 531 LastActivityDate property

Profile class, 1005 ProfileCommon, 1013 XmlMembershipProvider, 1089, 1093, 1095

last-in-wins concurrency, 327, 328 LastLoginDate property, 1089 LastPageText property, PagerSettings, 429 LastUpdatedDate property, 1005, 1013 LastWriteTime property, 531, 542 layout containers, Silverlight, 1481–1494

Canvas, 1482–1487 Grid, 1488–1494 nesting, 1491–1492

LayoutEditorPart class, 1350 LayoutTemplate class, 907

LayoutTemplate property ListView, 401, 445, 446, 447, 449, 450 Wizard, 749, 751

lazy initialization, 181, 269 lazy loading, LINQ to Entities, 591 LeafNodeStyle property, TreeView, 784 leeching, 225, 226 Left property, Canvas, 1482, 1487 legacy rendering, 85 Legacy value, xhtmlConformance element, 85 LegalCopyright property, 538 LegalTrademarks property, 538 Length property, FileInfo, 532, 541 less-than symbol (<)

&lt; entity, HTML, 112 LevelStyles collection, TreeView, 784 libraries, client

ASP.NET AJAX, 1288–1303 JavaScript, 1288

lifetime application lifetime, 181 connection pooling, 284 state management options compared, 234,

235 LIKE operator, DataView, 345 Line class, Silverlight, 1473 linear interpolation, Silverlight, 1495 LinearGradientBrush class, 1160, 1171 LineCap properties, Pens, 1158 LineJoin property, Pens, 1158 lines

AddLine method, 1157 DrawLine method, 1153 ReadAllLines method, 529 WriteAllLines method, 529

link element applying stylesheet rules, 708 using CSS in themes, 718

LinkButton control, 139 adding events to user control, 694 client IDs in GridView templates, 444 exposing inner web control, 696 handling events, user controls, 686

LinkClicked event, 694 LinkClickedEventHandler class, 694, 695 LinkControl class, 1113, 1115 links

absolute links, 265 relative links, 264

LinkTable control, 690, 692, 693 LinkTableEventArgs class, 693 LinkTableNoEvent control, 690, 691, 692, 693 LinkWebControl class, 1116, 1117, 1127, 1129

Page 55: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1569

LINQ (Language Integrated Query), 14, 563–577 binding chart to, 1186–1187 database operations, 595–605

concurrency, 600–605 deferred execution, 565 expressions, 566, 567–577 IEnumerable(Of T) interface, 565, 566, 573 keywords, 564, 565 List(Of T) class, 565, 566 Parallel LINQ, 563 replacing For Each block, 564 searching XML content, 653–655 SelectIterator(Of T) class, 565 System.Xml.Linq.dll assembly, 43 UnionIterator(Of T) class, 565 WhereIterator(Of T) class, 565, 566

LINQ expressions, 566, 567–577 aggregation, 573–574 And operator, Where clause, 570 AndAlso operator, Where clause, 570 AsEnumerable method, 578 Average method, 574 By keyword, Group clause, 571 calling methods inline, 570 conditional expressions, 570 Count method, 573 extension methods, 573, 575–576 Field(Of T) method, 578 filtering, 569–570 From clause, 567 Group clause, 571 grouping, 571–573 In keyword, From clause, 567 Into keyword, Group clause, 571 iterator object, 565, 566, 568 lambda expressions, 574, 576 Max method, 574 Min method, 574 multipart expressions, 577 Or operator, Where clause, 570 Order By operator, 570 OrElse operator, Where clause, 570 projections, 567–569 relational operators, 570 Select clause, 567 Select method, 575, 576 sorting, 570 SQL query similarity to, 567 Where clause, 569, 570

LINQ to DataSet, 14, 563, 577–580 extension methods, 654 filtering DataSet, 579

null values, 580 typed DataSets, 580

LINQ to Entities, 14, 563, 581–595 ASP.NET Dynamic Data, 18 building data access component, 318 data access without ADO.NET, 273 entity classes, 584–585 Entity Framework data model, 581

data model classes, 582–585 generating data model, 582

entity relationships, 586–587 EntityDataSource control, 607–614 executing expressions, 566 ObjectContext class, 583–584 one-to-many relationships, 586 one-to-one relationships, 587 QueryExtender control, 615–619 querying stored procedures, 587–589 reasons for using, 581

LINQ to Entities queries, 589–595 compiled queries, 594–595 eager loading feature, 592 entity relationships, 586–587 explicit loading, 593–594 filtering too late, 590–591 Include method, 592 lazy loading feature, 591 ObjectSet, 584 stored procedures, 587–589 viewing SQL queries, 589

LINQ to Objects, 14, 563–577 executing expressions, 566 retrieving data, speed of, 566

LINQ to SQL, 14, 581 ASP.NET Dynamic Data, 18 creating Dynamic Data website, 1416 creating model, MVC application, 1378 extension methods, 654

LINQ to XML, 14, 563 attributes, 642 creating XML with XDocument, 642 distinguishing elements and text inside, 645 extension methods, 654 extracting information with, 655 transforming XML content, 663–665 XDocument class, 635, 642–648

LinqDataSource control, 608 List action, Dynamic Data, 1433

constraining routes, 1436, 1437 route discovery by table, 1439 switching to single-page editing, 1437, 1438 using different templates for tables, 1438

Page 56: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1570

list controls, 150–157 BulletedList control, 151, 155–157 CheckBoxList control, 151 data binding with DataReader, 365 data properties, 359 DataBind method, 366 DataSource property, 359, 366 DataSourceID property, 359 DataTextField property, 359 DataTextFormatString property, 359 DataValueField property, 359 DropDownList control, 151 ListBox control, 151 RadioButtonList control, 151 repeated-value binding, 359, 361 selectable list controls, 152–155 validating, 158

List(Of T) class, LINQ, 565, 566 List.aspx page, Dynamic Data, 1421

constraining routes, 1436 creating custom page template, 1424 customizing websites with templates, 1422 route discovery by table, 1439 using different templates for tables, 1439,

1440, 1441 ListBox control class, 151

DataSourceID property, 371 DataTextField property, 372 editing/deleting/inserting records, 379 repeated-value binding, 359 selectable list controls, 152 Silverlight elements, 1472

ListBoxFor method, MVC, 1396 ListControl class, 151

DataBind method, 366 DataSource property, 366 properties, 151 SelectedIndexChanged event, 152

ListDetails.asax template, Dynamic Data, 1421 route discovery by table, 1439 switching to single-page editing, 1437, 1438 using different templates for tables, 1441

ListItem class Enabled property, 155 Selected property, 154

ListSearchExtender control, AJAX, 1310 ListView control, 444–451

grouping, 448–450 GroupItemCount property, 448 paging, 450–451

ListView templates, 444–445 AlternatingItemTemplate property, 444 drawback, 447

EditItemTemplate property, 445 EmptyDataTemplate property, 445 EmptyItemTemplate property, 445, 450 GroupSeparatorTemplate property, 445 GroupTemplate property, 445, 449 InsertItemTemplate property, 445 ItemSeparatorTemplate property, 444 ItemTemplate property, 444, 449 LayoutTemplate property, 445, 449 SelectedItemTemplate property, 445

Literal control, 355 LiteralControl objects, 99 load balancing, 800 load event, Application, 1298 Load event, Page see under Page class Load method

DataTable, 522 EntityCollection class, 593 ProfileService, 1271 RoleService, 1268, 1269 XmlDocument, 636, 644

LoadControl method, 698, 702, 1364, 1366 LoadControlState method, 1130, 1131 LoadPostData method, 1131, 1132, 1133 LoadStore method, 1074 LoadViewState method, 1129 LoadXml method, XmlDocument, 637 Local IIS type, Choose Location dialog, 26 local resources

App_LocalResources directory, 183 Local Security Policy management console, 957 local themes, 711 LocalMachine flag, 1033, 1034, 1043 localOnly attribute, web.config, 118, 119 Locals window, Visual Studio, 67–68 LocalSqlServer connection string, 199 location

creating projectless website, 26–27 location element, web.config, 194–195

controlling file access, 970 Location option, breakpoints, 68 Location property, OrderService, 208 Locator element, web.config, 807 Lock method

application state, 267 FileStream class, 553

Lock statement, VB, 269 locking behavior

isolation levels, 309 locking file access objects, 556–557 locking settings, machine.config, 195 locks, 308 LoggedIn event, Login, 908, 909

Page 57: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1571

LoggedInTemplate property, LoginView, 983 logging

creating custom login page, 868 Trace object, 114

LoggingIn event, Login, 908 Login control, 899–910

anonymous access to stylesheets, 901 Authenticate event, 899, 908, 909, 910 CSS classes customizing appearance, 900 CssClass property, 900, 902 customization properties, 903 encrypting sensitive data, 1055 events, 907, 908, 909 forms authentication, 855, 856 hyperlinks, 903 LoggedIn event, 908, 909 LoggingIn event, 908 LoginError event, 908, 909 order of events, 909 programming, 907–910 properties, 905 properties changing appearance of, 900 security controls, membership API, 898 style properties, 902 styles supported by, 902 templates, 905–907

special controls for Login template, 907 using custom template for, 905 validating users on login, 1088–1091

login controls, 124 login forms

controlling appearance of, 855 Login ID, Login template, 907 login interface

creating, forms authentication, 856 login method, AuthenticationService, 1266 login pages

anonymous access to stylesheets used by, 901

creating custom login page, 864–870 cookieless forms authentication, 870 hashing passwords in web.config, 869–

870 logging out, 868

membership API, 881 Login Toolbox tab, 37 LoginButtonImageUrl property, 904 LoginButtonStyle property, 902 LoginButtonText property, 904 LoginButtonType property, 904 LoginCancelEventArgs class

Cancel property, 914 LoginError event, 908, 909

LoginImageUrl property, 911 LoginStatus control, 910–911

properties, 911 security controls, 898

LoginText property, 911 loginUrl attribute, web.config, 861 LoginView control, 911–912

encrypting sensitive data in databases, 1055 security controls, 898 using with roles, 983 ViewChanged event, 912 ViewChanging event, 912

LogonUser function programmatic impersonation, 960, 961

logout method, AuthenticationService, 1266 LogoutAction property, 911 LogoutImageUrl property, 911 LogoutPageUrl property, 911 LogoutText property, 911 Long Date type format string, 408 lookup tables

editing field using, 461–463

■M machine.config file, 189–191

authorization rules, 967 configuration inheritance, 193 cryptographySettings section, 1047 DbProviderFactories class, 312 DbProviders section, 312 extending configuration file structure, 204 forms authentication, 859 implementing provider classes, 1088 locking settings, 195 machineKey element, 189–191 persistence, 202 web.config overriding settings, 191 website deployment, 800

machine.config.comments file, 189 hashing or encrypting data, 245

machineKey element, 189–191 AutoGenerate,IsolateApps value, 189 decryptionKey attribute, 190 hashing or encrypting data, 245 IIS Manager tool, 191 validationKey attribute, 190

MachineName property, HttpServerUtility, 111 Macro Explorer window, Visual Studio, 35 MailDefinition element

ChangePassword control, 917 PasswordRecovery control, 913

Page 58: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1572

MailMessageEventArgs class Message property, 914

Main method MSIL code for, 6

MainPage class XAML code-behind, 1478

MainPage.xaml file creating Silverlight project, 1470 XAML code-behind, 1478

MainPage.xaml.vb file creating Silverlight project, 1470 handling events, Silverlight, 1479 XAML code-behind, 1478

MajorVersion property, HttpBrowserCapabilities, 1123

makecert.exe command, 1034 Manage Styles window, Visual Studio, 35

applying stylesheet rules, 709 managed applications, 6 managed code, 8 Managed Pipeline Mode column

application pools, IIS, 827 management console, IIS see IIS Manager tool Management Service, 805 map tag, ImageMap control, 139 MapPageRoute method, RouteCollection, 775 MapPath method, HttpServerUtility, 111, 112 mapping, URL, 774–775 MapRoute method, Global.asax file, 1386 maps

ImageMap control, 1143–1149 marker files

SQL cache dependencies, 504 MarkupName property, 1148 MaskedEditExtender control, AJAX, 1311 master catalog, database server, 280 Master directive, 722 master key

Kerberos authentication, 942 NTLM authentication, 940

master pages, 705, 721–736 applying through configuration file, 731 ASP.NET 2.0, 13 ASP.NET applications, 180 content placeholders, 722 ContentPlaceHolder, 722–724 creating content pages, 724–726 creating, 722–724 default content, 727 dynamically setting, 733 formatting, 726 interacting with MasterPage class, 732–733 nesting, 734–736

page templating, 721 relative paths, 730–731 standardizing website layout, 721 with tables and CSS layout, 727–730

Master property, Page class, 732 master-details form

selecting rows, GridView, 415–417 MasterPage class, 732–733

FindControl method, 733 MasterPageFile attribute

Page directive, 724, 725, 734, 735 web.config file, 731

MasterPageFile property, 733 MasterType directive, 733 match-all concurrency, 327, 328 MatrixTransform class, Silverlight, 1504 MAX function

filtering with relationships, 348 Max method, LINQ, 574 Max Pool Size setting, connection pooling, 283 maxCachedResults property, roleManager, 979 MaxDataBindDepth property, TreeView, 777 MaximumRowsParameterName property, 425,

427 MaximumValue property, RangeValidator, 162 maxInvalidPasswordAttempts property, 895 MaxLength property, TextBox, 296 maxPageStateFieldLength attribute

view state chunking, 81 maxRequestLength attribute, 552 mc namespace prefix, Silverlight, 1475 MD5 (Message Digest 5) algorithm, 191 MD5 value, 869 Me keyword

DataBind command, 354 programmatically creating server controls, 132

measurements Unit structure, web controls, 141

MeasureString method, Graphics, 1170 media, Silverlight, 1460 MediaElement class, Silverlight, 1473 member list, Visual Studio, 46–47 membership and roles framework, 1068 membership API, 881–897

architecture illustrated, 882 authenticating users, 884, 897 ChangePassword control, 899, 917–918 configuring connection string, 884, 892–893 configuring forms authentication, 884,

885–886 configuring membership in IIS 7.x, 923–927

membership providers, 923–925 users, 925

Page 59: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1573

configuring membership providers, 884, 892–896

CreateUserWizard control, 899, 918–923 creating data store, 884 creating database, 886–892

database scripts for ASP.NET services, 890–892

file-based SQL Server store, 892 creating users, 884, 896–897, 931–932 deleting users, 932 forms authentication, 856, 857, 881 implementing custom providers, 1067 installation scripts, 890 InstallMembership.sql script, 890 Login control, 898, 899–910 LoginStatus control, 898, 910–911 LoginView control, 898, 911–912 Membership class, 927–932 PasswordRecovery control, 898, 912–917 purpose of, 883 retrieving users from membership store,

928–930 security controls, 898–923 updating users in membership store, 931 using, 884–897 using Basic authentication with, 926 using with other applications, 925–927 validating users, 932

membership API framework, 856, 857 Membership class, 882, 883, 927–932

ChangePassword method, 931, 1089, 1090 CreateUser method, 931, 932 debugging using WAT, 1103 DeleteUser method, 932 GetAllUsers method, 930 GetPassword method, 931 GetUser method, 928 implementing provider classes, 1093, 1095 retrieving users from membership store,

928–930 UpdateUser method, 928, 931 updating users in membership store, 931 ValidateUser method, 899, 900, 932, 1088 validating users on login, 1089, 1090

membership providers see also custom membership and roles

providers configuring, 884, 892–896

in IIS 7.x, 923–925 membership roles see roles membership section, web.config, 196, 893 Membership Service, 1054 MembershipCollection class, 930

MembershipCreateStatus class, 932 MembershipCreateUserException class, 883 MembershipProvider class, 883, 1069, 1079 MembershipProviderCollection class, 883 MembershipUser class, 883, 928

designing custom providers, 1070 encrypting sensitive data in databases,

1054, 1057, 1058 implementing provider classes, 1085, 1086 IsLockedOut property, 931 ProviderUserKey property, 1058, 1069 UnlockUser method, 931

MembershipUserCollection class, 883, 930, 1094

Memcached, 486 memory management, CLR, 8 memory-based caching, 486 MemoryStream class

compression, 557 using PNG format, 1163

Menu class DisappearAfter property, 790 DynamicXyzStyle properties, 790 IncludeStyleBlock property, 793 Items property, 787 Orientation property, 789 StaticDisplayLevels property, 790 StaticSubMenuIndent property, 790 StaticXyzStyle properties, 790

Menu control, 786 ASP.NET 4, 793 dynamic items, 789 DynamicMenuItemTemplate, 791 navigation changes in ASP.NET 4, 737 static items, 789 StaticMenuItemTemplate, 791 styles, 789–790 templates, 791–793 TreeView compared, 789

menuBar attribute, pop-up windows, 1216 MenuItem class, 786

ChildItems collection, 787 DataItem property, 791 GetDescriptionFromTitle method, 791, 792 properties, 787 Text property, 787, 791

MenuItemDataBound event, 763 Merge method, DataSet, 334 message

get_message method, 1262 Message property

Exception class, 297 MailMessageEventArgs class, 914

Page 60: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1574

message queues custom cache dependency using, 509–512

MessageQueueCacheDependency class, 509, 510

metacharacters for matching single characters, 164 for matching types of characters, 165

metadata, 8 classes, 1442 customizing Dynamic Data websites with,

1442–1450 changing display names, 1443–1445 changing visibility, 1446–1448 customizing field formatting, 1448–1449 customizing validation for data fields,

1451–1455 using custom field template, 1450

HtmlMeta class, 130 metadata tags, 102 MetaDataType attribute, 1406, 1443 metalanguages

XML, 622 method filters, MVC, 1387 method parameters

selecting records, ObjectDataSource, 390–391

method signatures nonstandard, ObjectDataSource, 393–394

MethodExpression filter, QueryExtender, 618–619

methods global.asax application file, 183 instance methods, 322 JavaScript, 1190 shared methods, 322 web control classes, 139

Microsoft AJAX Library, 1252 Microsoft Expression Web

configuring hotspots in, 1144 Microsoft Intermediate Language (MSIL), 4, 6 Microsoft Management Console, 1034 Microsoft Messaging Queuing (MSMQ), 509,

510 Microsoft MSN

portal pages, 1318 MicrosoftAjax.js file, 1252 MigrateAnonymous event, ProfileModule, 1016 migration

project-based development, 60 Visual Studio websites, 61–63

migration to ASP.NET HTML server controls, 136

Min method, LINQ, 574

Min Pool Size setting, connection pooling, 283 Minimize verb, 1364 MinimumPrefixLength property,

AutoCompleteExtender, 1307 MinimumValue property, RangeValidator, 162 MinorVersion property,

HttpBrowserCapabilities, 1123 minRequiredNonalphanumericCharacters

property, 895 minRequiredPasswordLength property, 895 MinRequireNonAlphanumericCharacters

property, 1086 minRuntimeVersion parameter, Silverlight, 1468 Miscellaneous settings, HTML, 33 ModalPopupExtender control, AJAX, 1311 mode attribute

sessionState element, 259–263 Custom setting, 263 default option, 259 InProc setting, 259 Off setting, 259 SQLServer setting, 261–263 StateServer setting, 260–261

xhtmlConformance element, 85 Mode property

HttpSessionState, 258 PagerSettings, 429

Model property, DynamicDataRoute, 1433 Model View Controller see MVC Models folder, MVC

adding to model, 1401 adding validation annotations, 1406 creating model, 1379 creating MVC application, 1378

models for coding web pages, Visual Studio, 52 models, MVC, 1377

adding to model, 1398–1403 creating model, 1378

ModelState class validating data, 1404

Model-View-Controller see MVC modified URLs

tracking session ID, 257 Modify Style dialog box, Visual Studio, 31 modules

handling events from, 231 HTTP modules, 227–231

Mono project, 7 Month and Day type format string, 408 mostRecent attribute, web.config, 119 mouse events, Silverlight, 1479

MouseLeave, 1506 MouseLeftButtonDown, 1500

Page 61: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1575

MouseMove, 1487 MouseUp, 1487

Move method Directory class, 528 File class, 529

MoveTo method, DirectoryInfo, 531 MoveToContent method, XmlTextReader, 633,

634 MoveToFirstAttribute method, XPathNavigator

class, 641 MoveToFirstChild method, 641 MoveToNext method, 639 MoveToNextAttribute method, 633, 641 mscorlib.dll assembly, 43

Silverlight, 1481 MSDN Help library reference, 4 MSDomVersion property,

HttpBrowserCapabilities, 1124 MSIL (Microsoft Intermediate Language), 4, 6 MSMQ (Microsoft Messaging Queuing), 509,

510 MSN

portal pages, 1318 MultiHandleSliderExtender control, AJAX, 1311 multilanguage development

Visual Studio, 22 multilanguage nature of ASP.NET, 6–7 multipart expressions, LINQ, 577 MultiScaleImage class, Silverlight, 1473 multitargeting, Visual Studio, 24 multithreading, CLR, 9 MultiView control, 173, 737, 738–742

ActiveViewIndex property, 740 Add method, 739 AddAt method, 739 command names for, 741 NextViewCommandName, 741 performance, 741 PreviousViewCommandName, 741 smarts, 741 SwitchViewByIDCommandName, 741 SwitchViewByIndexCommandName, 741 Visual Studio, 739

MultiView tag, 738 MutuallyExclusiveCheckBoxExtender control,

AJAX, 1311 MVC (Model-View-Controller), 18, 1377

action results, 1409–1412 adding to model, 1398–1403 adding validation annotations, 1406–1408 adding view data, 1396–1397 calling another controller method, 1411–1412 customizing views, 1393–1397

HTML helper methods, 1396 modifying views, 1394–1396 returning JSON data, 1410–1411 validating data, 1403–1408 web forms compared, 1377

MVC application adding authentication, 1389–1390 adding error handling, 1387–1389 adding support for foreign key constraints,

1393 configuring routing, 1385–1386 consolidating data store access, 1390–1393 creating, 1378–1385 creating controller, 1379–1380, 1382–1385 creating index view, 1380–1381 creating model, 1378 creating views, 1382–1385 extending, 1385–1393 modifying Site.Master file, 1385 testing incomplete MVC application, 1381

MySQL SQL injection attacks, 296

■N name attribute

ClientIDMode property and, 90 forms tag, web.config, 861 properties tag, web.config, 1003 XHTML compliance, 82

Name column application pools, IIS, 827

Name property DirectoryInfo, 531, 542 DriveInfo, 534 FileInfo, 531, 1166 FontInfo, 143, 144 ProviderBase, 1018 SqlMembershipProvider, 894 SqlRoleProvider, 979

name/value pairs, 73 view state, 78

Names property, FontInfo, 143, 144 namespace prefixes, XML, 626, 632 namespaces

ADO.NET, 277–278 cryptography namespace, 1032–1035 GDI+, 1149 JavaScript, 1295–1296 .NET framework, 3 Silverlight, 1475 XDocument, 646 XML, 624–626

Page 62: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1576

NameValueCollection class, 1079 naming containers, 88 native authentication module, 947 Navigate event, ScriptManager, 1286, 1287 Navigate To window, Visual Studio, 51 NavigateUrl element, Advertisement file, 174 NavigateUrl property

data binding, 352 HotSpot, 1145 Hyperlink, 353 MenuItem, 787 TreeNode, 777, 778

navigation breadcrumb navigation, 755–757 changes in ASP.NET 4, 737 frame navigation, 1225–1227 managing browser history, AJAX, 1284–1288 Menu control, 786–793 programmatic navigation, 761 site map objects, 761–762 site maps, 751–773 TreeNode class, 777–779 TreeView control, 776–786 URL mapping, 774–775 URL routing, 775–776 WizardStep class, 743 XPathNavigator class, 639–642

navigation controls, 124 Menu control, 786–793 rich navigational controls, 737 SiteMapPath control, 755–757 TreeView control, 776–786 Wizard control, 742

navigation framework, 13 navigation mode, TreeNode, 777 navigation properties

entity classes, 584, 597 entity relationships, 586 LINQ to Entities, 584, 586, 589, 591 one-to-many relationships, 586 one-to-one relationships, 587

Navigation Toolbox tab, 37 navigation tools

Visual Studio 2010 improvements, 50–51 NavigationButtonStyle property, 748 NavigationStyle property, Wizard, 748 nested elements

well-formed XML, 624 XDocument class, 645

nested grids XML data binding, 671–672

nesting master pages, 734–736

.NET compilation, 4 ildasm.exe file, 7 JIT compilation, 4 multitargeting, 24

.NET components, 210–217 App_Code directory, 213–214 Bin directory, 214–217 creating components, 211–212

.NET framework ASP.NET integration with, 3–4 class library, 3 class library reference, 4 CLR and .NET framework, 9 cryptography classes, 1035–1041

abstract encryption classes, 1039 asymmetric encryption algorithms,

1038, 1050–1053 CryptoStream class, 1040–1041 ICryptoTransform interface, 1039–1040 symmetric encryption algorithms,

1037–1038, 1043–1050 SymmetricEncryptionUtility class,

1048–1050 cryptography namespace, 1032–1035 data providers, ADO.NET, 275 data source controls, 368 file system classes, 527–534 gacutil.exe utility, 799 incompatibility with IIS Manager, 923 managed code, 8 namespaces, 3 server controls, 123 stream classes, 546 types, 3

.NET Framework Version column application pools, IIS, 827

.NET nullable values DataReader class, 290 passing null value to stored procedure, 302

.NET SDK, 7

.NET tab, Add Reference dialog, 215 network traffic

intercepting, forms authentication, 857 New command

editing FormView, 456 New Project dialog box, 60, 1109 New Web Site dialog box, 23 newline

metacharacter matching, 164 NextButtonClick event, Wizard, 746 NextPageText property, PagerSettings, 429 NextPrevious mode, PagerSettings, 429

Page 63: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1577

NextPreviousFirstLast mode, PagerSettings, 429 NextResult method, DataReader, 287, 291 NextSibling property, SiteMapNode, 762 NextViewCommandName field

MultiView control, 741 NoBot control, AJAX, 1313 NodeIndent property, TreeView, 782 nodes

adding custom site map information, 763 applying styles to node levels, 784–785 applying styles to node types, 784 attributes, selecting, 652 child node, 651 ChildNodes property, 636 current node, indicating, 652 descendant node, 651 parent node, indicating, 652 security trimming, 773 showing portion of site map, 757–761

skipping root node, 758 starting from current node, 758–759 starting from specific node, 759–761

TreeNode class, 777–779 populating nodes on demand, 780–782

TreeView, 784–785 XPath, 652

Nodes collection, XmlDocument, 666 Nodes method, XElement, 645 NodeSpacing property, TreeNodeStyle, 782 NodeStyle property

SiteMapPath, 757 TreeView, 784

NodeTemplate property, SiteMapPath, 757 NodeType property

XmlNode, 638 XPathNavigator, 641

NoExpandImageUrl property, TreeView, 782, 785

nonbreaking spaces &nbsp; entity, HTML, 112 replace spaces with, 113

nonce value Digest authentication, 939 NTLM authentication, 940

nonhierarchical binding, XML, 666–668 nonrepeatable reads, databases, 309

isolation level locking behavior, 310 NonSerialized attribute, 239, 559 nonstandard method signatures

ObjectDataSource control, 393–394 Normal value, FileAttributes, 535 Northwind database

building data access component, 318

NoSuchRecordError view error handling, MVC, 1388

NoSuchRecordException class, 1388 NOT operator, DataView, 345 NotContentIndexed value, FileAttributes, 535 @Notes parameter

editing with GridView template, 438 Notes property

creating consumer web parts, 1359 notifications

cache notifications, 505–506 enabling notifications, 506 SQL cache notifications, 504–505

NotifyDependencyChanged method, 508, 509, 510

notifyScriptLoaded method, 1302 NotImplementedException class, 1018, 1297 NotSupportedException class, 499 Now property, DateTime, 873 NTAccount class, 955, 956 NTFS format, Windows, 972 NTLM (NT LAN Manager) authentication, 940–

941 Windows authentication, 946

null values databases, 290 DataReader class, 290 DBNull.Value constant, 290 LINQ to DataSet, 580 passing to stored procedure, 302

NullDisplayText property, 405 Number type, AJAX, 1294 numeric format strings, 407 Numeric mode, PagerSettings, 429 NumericFirstLast mode, PagerSettings, 429 NumericUpDownExtender control, AJAX, 1311

■O obfuscators

Dotfuscator, 7 object element, Silverlight, 1465, 1466, 1467–1468 Object Relational Designer window, 1416 object tags

script injection attacks, 1210 Object type, AJAX, 1294 ObjectContext class, 583–584

compiled queries, 595 delete database operations, 599 displaying data, 607 editing data, 613 entity relationships, 586 EntityDataSource, 607, 613

Page 64: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1578

explicit loading, 593 handling concurrency conflicts, 601, 602 insert database operations, 595, 596 inserting associated entities, 597, 598, 599 querying stored procedures, 587 Refresh method, 602 update database operations, 599

ObjectCreating event, 388, 389 ObjectDataSource control, 273, 368, 369,

385–396 see also data source controls adding items to data-bound list, 397–399,

400 binding chart to object dataSource,

1181–1183 caching with, 496, 499 custom pagination with, 425–428

counting records, 426 paged selection method, 427–428 stored procedure to get paged records,

426–427 DataObjectTypeName property, 393 DeleteMethod property, 387 Dispose method, 389 editing with GridView template, 438 EnablePaging property, 425 handling identity values in inserts, 394–396 identifying data classes with attributes, 396 InsertMethod property, 387 MaximumRowsParameterName property,

425, 427 nonstandard method signatures, 393–394 ObjectCreating event, 388, 389 ObjectDisposing event, 389 pagination, 423 paging GridView, 425–428 SelectCountMethod property, 425, 426 Selecting event, 391 selecting records, 386–388

using method parameters, 390–391 using parameterized constructor,

388–389 SelectMethod property, 387 sorting GridView with, 419–421 SortParameterName property, 420 StartRowIndexParameterName property,

425, 427 TypeName property, 387 UpdateMethod property, 387, 392 Updating event, 394 updating records, 392–393

updating with data object, 393–396 using DataSet in data access class, 341

ObjectDataSourceEventArgs class, 389 ObjectDataSourceSelectingEventArgs class, 391 ObjectDisposing event, 389 object-oriented programming see OOP ObjectQuery class, 589 objects

Application object, 106 binding chart to object datasource,

1181–1183 Cache object, 106 custom objects, user controls, 690–692 LINQ to Objects, 563–577 Request object, 106–107 Response object, 108–111 Server object, 111–113 Session object, 106 storing in view state, 239–241 Trace object, 114–120 User object, 114

ObjectSet class LINQ to Entities query, 584, 586 ObjectContext properties, 583

Odbc namespace, 278 ODBC provider, 275, 276 OdbcCommand class see Command class OdbcConnection class see Connection class OdbcDataAdapter class see DataAdapter class OdbcDataReader class see DataReader class OdbcException class, 282 ODP.NET (Oracle Data Provider for .NET), 275 Off setting

mode attribute, sessionState element, 259 Offline value, FileAttributes, 535 OldValuesParameterFormatString property,

381 OLE DB provider, 275, 276

connection strings, 279 parameterized commands, 297

OleDb namespace, 277 OledbCommand class see Command class OledbConnection class see Connection class OledbDataAdapter class see DataAdapter class OledbDataReader class see DataReader class OleDbException class, 282 OleDbTransaction class, 306 On prefix

adding events to user control, 695 onabort event, JavaScript, 1191 onblur event, JavaScript, 1191 onchange event attribute, AJAX, 1261 onchange event, JavaScript, 77, 1191, 1192 OnChange event, SqlDependency, 507 OnClick attribute, Button, 95

Page 65: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1579

onclick event, JavaScript, 77, 1191, 1223 OnClientClick property, 1193 OnEndRequest event, 184 onerror event, JavaScript, 1191, 1204 OnError function, AJAX, 1261, 1262 onError parameter, Silverlight, 1467 one-to-many relationships, 586 one-to-one relationships, 587 one-way encryption algorithms, 1036 onfocus event, JavaScript, 1191 OnInit method

ControlAdapter class, 1126 creating custom web parts, 1339, 1343 creating web control, 1117 using control state, 1130

onkeydown event, JavaScript, 1191 onkeyup event, JavaScript, 1191

building Ajax-style page, 1234 onload event, JavaScript, 1191

building Ajax-style page, 1234 creating JavaScript page processor, 1199,

1200 downloading images asynchronously, 1204

OnLoad method creating custom web parts, 1339, 1343

onLoad parameter, Silverlight, 1468 onLoginCompleted function, AJAX, 1266 onLoginFailed function, AJAX, 1266 onmouseout event, JavaScript, 1191, 1223 onmouseover event, JavaScript, 1191, 1192,

1223 OnPreRender event, 1366 OnPreRender method, JavaScript, 1222, 1225 OnPreRenderComplete method, Page, 373, 398 onreadystatechange property, JavaScript, 1231 OnRequestComplete function, AJAX, 1261 onResize parameter, Silverlight, 1468 onselect event, JavaScript, 1191 OnServerChange attribute, 134, 135 OnServerClick attribute, 135 onSourceDownloadXyz parameters, 1468 onsubmit attribute, JavaScript, 1208 onunload event, JavaScript, 1191, 1199 OnXyz methods

postbacks and change events, 1133 OOP (object-oriented programming)

ASP.NET and, 9, 10 JavaScript, 1289–1298

base types, 1294–1295 closures, 1290–1291 inheritance, 1296–1297 interfaces, 1297–1298 namespaces, 1295–1296

prototypes, 1292 registering classes with AJAX, 1293–1294

open function, window pop-up windows, 1216

Open method File class, 529 FileInfo class, 532 XMLHttpRequest, 1230

Open value, FileMode, 546 Open Web Site dialog box, 818 OpenMachineConfiguration method, 200 OpenOrCreate value, FileMode, 546 OpenRead method, 529, 532 OpenText method, 529, 532 OpenWebConfiguration method, 200, 201, 202 OpenWrite method, 529, 532 OperationContract attribute, Silverlight, 1508 OperationException property, 520 operations, database, 595–605 Operator property, CompareValidator, 163 operators

DataView, 345 filter operators, 345 LINQ, 570 recursive path operator, 651 ROWNUM operator, SQL, 427

optimistic concurrency, 328, 600 OptimisticConcurrencyException class, 601,

602, 603, 604 opt-in model, view state, 233 opt-in state management, 243 opt-in view state, 17 Option Infer setting, Visual Studio, 568 Options dialog box, Visual Studio, 32, 33 OR operator, DataView, 345 Or operator, Where clause, LINQ, 570 Oracle

SQL injection attacks, 296 Oracle data providers

connection pooling, 283, 284 Oracle provider, ADO.NET, 275 OracleClient namespace, 277 OracleClientFactory class, 311 OracleCommand class see Command class OracleConnection class see Connection class OracleDataAdapter class see DataAdapter class OracleDataReader class see DataReader class OracleException class, 282 OracleTransaction class, 306 Order By operator, LINQ, 570 OrderService class, 205

Location property, 208 orderService element, 204, 206

Page 66: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1580

OrElse operator, Where clause, LINQ, 570 Orientation property

Menu class, 789 StackPanel, 1482

OriginalFilename property, 538 outlining, Visual Studio, 45–46 output caching, 476–490, 701

cache configuration, 485 cache profiles, 484–485 custom cache provider, 486–489, 490 custom caching, 479–481 declarative output caching, 476–478 disk-based caching, 486 durable caching, 487 extensibility, 486–490 fragment caching, 476, 482 HttpCachePolicy class, 481 memory-based caching, 486 post-cache substitution, 482–484 query string, 478 query string parameters, 479 when it doesn’t work, 479

OutputCache directive, 481, 701 CacheProfile attribute, 485 declarative output caching, 477 Duration attribute, 477 fragment caching, 482 partial caching, 701, 702 post-cache substitution, 483 Shared property, 704 VaryByCustom attribute, 480 VaryByHeader attribute, 480 VaryByParam attribute, 477, 478, 479, 485, 702

outputCacheProfiles section, web.config, 484 OutputCacheProvider class

Add method, 487, 488 building custom cache provider, 487 Get method, 487, 488, 489 Initialize method, 487, 490 overridable methods, 487 Remove method, 487, 488, 489 Set method, 487, 488

OutputStream property, HttpResponse, 109 OutputStream property, Response

using GDI+ in ASP.NET, 1149 using PNG format, 1163

Overline property, FontInfo, 143 Owner property, WindowsIdentity, 954

■P -P switch, aspnet_regsql.exe, 889, 999 Package/Publish SQL tab, 810

Package/Publish Web properties tab, 810 Page class, 105–121

accessing HTTP context in another class, 120–121

AddOnPreRenderCompleteAsync method, 513, 514

AsyncTimeout property, 524 Cache property, 481 ClientScript property, 1208 ClientTarget property, 1125 connecting control tags to page variables,

56 connecting events to event handlers, 57 construction of, 57 Context property, 1011 Controls collection, 97–105 Controls property, 125 creating JavaScript code, 1190 DataBind method, 344

custom expression builders, 358 repeated-value binding, 360 single-value binding, 352, 354

Dispose method, 517 Disposed event, 94 FindControl method, 104, 170, 697 GetPostBackEventReference method, 1134,

1224 GetRouteUrl method, 776 GetValidators method, 171 hierarchy of server controls, 124 Init event

client callbacks, 1244 dynamically setting master page, 733 master pages, 726 page framework initialization, 92 page life cycle with data binding, 369 PageFlow example, 95, 96

interacting with MasterPage class, 732–733 IsCallback property, 1244 IsPostBack property, 92, 1244 IsValid property, 92

cross-page posting, 252, 253 validation controls, 867 validation groups, 172

Load event, 92 adding events to user control, 695 application state, 266 client callbacks, 1244 creating custom web part editor, 1351 creating custom web parts, 1339, 1343 data binding, 373 drawing with GDI+, 1150 dynamic control creation, 104

Page 67: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1581

dynamically loading user controls, 697 handling events, user controls, 687 handling server-side events, 135 list controls, 153 master pages, 726 page initialization, 689 page life cycle with data binding, 369 PageFlow example, 95, 96 portal frameworks, 699 re-creating control multiple times, 104 showing control tree, 97 testing connections, 281 testing database component, 328 web part page, 1337, 1338

LoadControl method, 698, 702, 1364, 1366 Master property, 732 MasterPageFile property, 733 models for coding web pages, 55 moving between pages, 110–111 OnPreRenderComplete method, 373, 398 pages as control containers, 97–105 placing web method in page, AJAX, 1263 PreInit event, 719, 720, 1125 PreRender event, 93, 95, 369, 373, 514 PreRenderComplete event, 517, 523 properties corresponding to intrinsic

objects, 105 Application object, 106 Cache object, 106 Request object, 106–107 Response object, 108–111 Server object, 111–113 Session object, 106 Trace object, 114–120 User object, 114

RegisterRequiresControlState method, 1130 RegisterRequiresPostback method, 1132 RegisterRequiresViewStateEncryption

method, 245, 1128 RouteData property, 775, 776 StyleSheet property, 719 Theme property, 719 Unload event, 94, 95 Validate method, 171, 867 Validators collection, 169 ViewState property, 1128

Page directive applying themes through configuration file,

718 Async attribute, 513 connecting code-behind files to pages, 55 converting page to user control, 686 creating web projects, 61

EnableEventValidation property, 1243 EnableTheming attribute, 719 MasterPageFile attribute, 724, 725, 734, 735 overriding browser type detection, 1125 StyleSheetTheme attribute, 714 Theme attribute, 712 Title attribute, 725 Trace attribute, 726 trace options, 119 tracing attributes, 115 ValidateRequest property, 1211

page event handlers, 95, 96 page framework initialization, 91 page header, 101–103 page initialization, 689 page life cycle

data binding, 368–369 profiles, 996

page processing, ASP.NET web forms, 72–90 ASP.NET event model, 75 automatic postbacks, 76–77 client-side control IDs, 88–90 dynamic user interface, 74–75 HTML forms, 72–74 HTTP modules, 227–228 postbacks, 72 view state, 77–81 XHTML compliance, 82–87

configuring XHTML rendering, 84–85 default doctype, Visual Studio, 86 document type definitions, 83–84 XHTML validation, 86–87

page processor, JavaScript, 1199–1203 Page property, Control class, 125, 354 page property, view state, 78 page requests, ASP.NET, 79 page templating, master pages, 721 page variables

connecting control tags to, 56–57 Page.xaml file, 1470 Page_Load event procedure, 929 Page_Load method, 1055 PageAction enumeration, 1433 PageAsyncTask object, 524 PageButtonCount property, 429 PageCatalogPart control

adding web parts to pages, 1325, 1332 customizing web part pages, 1327, 1329 uploading web parts dynamically, 1372

PageFlow example, 94–96 PageHandlerFactory class, 218 PageIndex property

GridView control, 424

Page 68: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1582

PageIndexChanged event DetailsView, 454 GridView, 424

PageIndexChanging event, 424 pagelets, 721 pageLoad function, AJAX, 1269, 1276, 1299 pageLoaded event, 1299 PageLoadedEventArgs class, 1299 pageLoading event, 1299 PageLoadingEventArgs class, 1299 PageMethods object, AJAX, 1263 pageOutput attribute, web.config, 118, 119 pager bar, GridView, 428–430 PageRequestManager class, 1276, 1278, 1299 PagerSettings property, 424, 428 PagerSettings class properties

customizing pager bar, 429 PagerStyle property, 409, 424, 428 PagerTemplate property, 430, 433, 454 pages see web pages pages element, web.config, 196

applying themes, 718 migrating websites, 63

pages, ASP.NET see web forms PageSize property, 424, 426 PageTemplates folder, Dynamic Data, 1421

creating custom page template, 1424 editing default templates, 1422 using different templates for tables, 1439

pageUnload function, AJAX, 1276 pagination, 423, 425–428 paging

ASP.NET 4 changes in data controls, 401 GridView, 423–430

automatic paging, 423–424 counting records, 426 custom pagination, 425–428 customizing pager bar, 428–430 getting paged records, 426–427 paged selection method, 427–428 paging and selection together, 425

ListView, 450–451 PagingBulletedListExtender control, AJAX, 1311 PagingSettings property, 452 PagingStyle property, 452 Pair class, control state, 1130 Panel control

adding button to, 103 pages with multiple views, 738 ScrollBars property, 146–147, 406 Visible property, 738

Panel control class, 139 PanelID property, 1248, 1249

Parallel LINQ, 563 param element, Silverlight, 1466 ParamArray keyword, 642 parameter array, 642 Parameter object

stored procedures, 300 Parameter tag

parameterized commands, 376 parameter types, 375 parameterized commands

@ symbol, 374 naming conventions, 297–298, 379

avoiding SQL injection attacks, 297, 298 configuring parameter binding at design

time, 376 OLE DB provider, 297 parameter types, 375 secure coding, 838 SqlDataSource, 373–378, 382

parameterized constructor, 388–389 Parameters collection

adding parameters with implicit data types, 301

Parent property accessing web part properties, 1334 Control class, 125 DirectoryInfo class, 531

parent/child view in single table, 458–460 parentElement property, JavaScript, 1196 parentID attribute, browser, 1123 ParentLevelsDisplayed property, 756, 761 ParentNode property, 762 ParentNodeStyle property, 784 Parse method, XDocument, 644 part pages see web part pages PartChromeState, 1332 PartChromeType, 1332 partial caching, 476, 482, 701–704

OutputCache directive, 701 sharing cached controls, 704 VaryByControl attribute, 702–704

partial classes, 55 adding validation annotations, MVC, 1406 connecting control tags to page variables,

56 entity classes, 584 user controls, 684

partial page refreshes, AJAX, 1252 partial rendering, AJAX, 1272

PageRequestManager, 1299 Timer control, 1280 UpdatePanel, 1273–1280

partial session state, 233

Page 69: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1583

PartialCaching attribute, 704 PartialCachingControl object, 702 Pascal case filtering, Visual Studio, 49 Passport authentication, 855, 856, 857 Password ID

CreateUserWizard template, 920 Login template, 907

password type, input tag, 129 passwordAttemptWindow property, 895 PasswordBox class, Silverlight, 1472 PasswordFor method, MVC, 1396 passwordFormat attribute

credentials, 869 membership, 896

passwordFormat property SqlMembershipProvider, 894 XmlMembershipProvider, 1087, 1088

PasswordLabelText property, 903 PasswordRecovery control, 912–917

events, 914 MailDefinition element, 913 QuestionTemplate property, 914, 915, 916 security controls, membership API, 898 special controls for templates, 916 SuccessTemplate property, 914, 915, 916 templates, 914–917 UserNameTemplate property, 914, 915, 916

PasswordRecoveryIconUrl property, 905 PasswordRecoveryText property, 905 PasswordRecoveryUrl property, 905 PasswordRequiredErrorMessage property, 904 passwords

ChangePassword control, 917–918 hashing in web.config, 869–870 membership API, 881 regular expressions, 166 salted password hashes, 1034, 1091–1093

PasswordStrength extender, AJAX, 1311 passwordStrengthRegularExpression property

SqlMembershipProvider, 895 XmlMembershipProvider, 1086

path attribute httpHandlers element, 221 machine.config, 194, 195 web.config, 862

Path class, 538–540 Combine method, 539, 540 creating unique filenames, 554 GetFileName method, 539, 540, 554 methods, 540 Silverlight elements, 1473

Path property, URL mapping, 775 PathDirection property, 756

paths AddPath method, 1157 combining multiple paths, XPath, 652 DrawPath method, 1153, 1156 FillPath method, 1154, 1156 GraphicsPath class, 1149, 1156–1157 recursive path operator, 651 selecting element in path, XPath, 652

PathSeparator property, 756 PathSeparatorStyle property, 757 PathSeparatorTemplate property, 757 pause button, Visual Studio, 66 Pause method, Storyboard, 1497 pdb files, 59 pe switch, aspnet_regiis.exe, 210 Pen object

DrawXyz methods, Graphics, 1154, 1157 Pens class, 1157–1159

properties, 1158 pens, GDI+, 1157–1160 PenType property, 1158 percent sign (%), URL encoding, 247 Percentage method, web controls, 141 Percentage type format string, 407 percentagePhysicalMemoryUsedLimit

attribute, 485 performance

application state, 267 asynchronous pages, 512 caching, 475 credentials store, web.config, 871 disabling session state management, 259 GDI+, 1162 MultiView pages, 741 profiles, 995–996 state management options compared, 234,

235, 236 stored procedures, 299 StringBuilder class, 289

performance monitoring Trace object, 114

permissions changing declarative permissions, 975 controlling role access, URL authorization,

970 PrincipalPermission class, 973–975

persistence InstallPersistSqlState.sql script, 891 machine.config file, 202 view state, 72, 77–81 web.config file, 202

persistent cookies forms authentication, 872–873

Page 70: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1584

Personalizable attribute, web parts, 1341, 1369 personalization

accidentally modifying/closing zones, 1327 creating custom web parts, 1341 implementing web parts through user

controls, 1339 InstallPersonalization.sql script, 890 resetting, 1374 web part pages, 1367 web parts, 1374–1375 Web Parts Framework, 1317

Personalization property, 1374 pessimistic concurrency, 328 phantom rows, databases, 309

isolation level locking behavior, 310 Physical path

Add Virtual Directory dialog, 821 Add Web Site dialog, 820

PhysicalApplicationPath property, 106 physicalFile argument, MapPageRoute, 775 pipeline modes

application pools, IIS, 827 pipelines

IIS 7.x pipeline, 946–950 Pixel method, web controls, 141 PKCS (Public-Key Cryptography Standard), 1032 PlaceHolder control

dynamic control creation, 104 dynamically loading user controls, 697, 698 ListView templates, 446 portal frameworks, 698, 699 positioning templates, Wizard, 751 programmatically creating server controls,

131 placeholders

downloading images asynchronously, 1203 grouping, ListView, 449 ListView templates, 446 parameterized commands, 297

Platform property, HttpBrowserCapabilities, 1124

plug-ins Flash, 1459 Silverlight, 1458, 1459

PNG format, 1152, 1163 PointAnimation class, Silverlight, 1495 PointAnimationUsingKeyFrames class, 1495 Points collection, 1176 PolygonHotSpot class, 1144 polygons

AddPolygon method, 1157 DrawPolygon method, 1154 FillPolygon method, 1154

pool of application objects, 184 pooling

connection pooling, 283–284 Pooling setting, 284 PopOutImageUrl property, 787 PopulateNodesFromClient property, 780 PopulateOnDemand property, 780 PopUnder property, 1217 pop-under windows, 1216 PopUp control, 1216, 1220 pop-up windows, JavaScript, 1216–1221 PopupControlExtender control, AJAX, 1311 port 443

SSL-based access, 849 Port value, Add Web Site dialog, 820 portal frameworks, 698–701 portal pages, 1318 portals, ASP.NET 2.0, 13 position function, XPath, 652 Position property, CryptoStream, 1041 POST injection attacks, 298, 1242 POST operation, HTTP, 73 postbacks, 72, 1131–1134

Ajax, 1229 automatic postbacks, 76–77, 149 AutoPostBack property, 151 callbacks compared, 1244 creating JavaScript page processor, 1201 cross-page posting, 247, 247–253 doPostBack function, 76, 77, 1190 IPostBackDataHandler interface, 1131 IsCrossPagePostBack property, 251 IsPostBack property, 251 LoadPostData method, 1131 managing browser history, 1284 partial rendering, 1272 RaisePostDataChangedEvent method, 1131 sorting and paging callbacks, 429 triggering, 1134–1136 triggers, UpdatePanel, 1279 view state, 236

PostBackTrigger class, 1279 PostBackUrl property, 247, 249 PostBackValue property, 1145 post-cache substitution, 482–484

Substitution control, 483, 484 PostedFile property, 551 PostRequestHandlerExecute event, 185 PowerUser role, WindowsBuiltInRole, 953 prebuilt zones, web part pages, 1320 precedence

CSS rules, 709 themes, 714

Page 71: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1585

precompilation, 4, 6 project-based development, 59

Predictable value, ClientIDMode, 89, 90 PreInit event, Page

applying themes dynamically, 719, 720 overriding browser type detection, 1125

PreRender event, Page, 93, 95 creating asynchronous pages, 514 data binding, 373

page life cycle with, 369 PreRender event, web parts, 1343, 1359 PreRenderComplete event, 517, 523 PreRequestHandlerExecute event, 185 presentation namespace, Silverlight, 1475 preserveForm parameter, 250 PreviousButtonClick event, 746 PreviousPage property, 248, 249 PreviousPageText property, 429 PreviousPageType directive, 249 PreviousSibling property, 762 PreviousViewCommandName field, 741 PrincipalPermission attribute, 974–975 PrincipalPermission class, 973–975

Demand method, 973 Intersect method, 974 Union method, 974

PrintOperator role, WindowsBuiltInRole, 953 priorities

cache priorities, 495–496 private keys

asymmetric encryption algorithms, 1038, 1050, 1051

SSL, 845, 846 privateBytesLimit attribute, web.config, 485 privateBytesPollTime attribute, 485 privileges, impersonation, 958 processing requests, pipeline modes, 830 processing stages, web forms, 90–96

automatic data binding, 93 cleanup, 94 event handling, 93 page framework initialization, 91 PageFlow example, 94–96 user code initialization, 92 validation, 92

ProcessRequest method custom controls using GDI+, 1167 IHttpHandler, 219, 227, 466

ProductXyz properties, 538 Profile class

LastActivityDate property, 1005 LastUpdatedDate property, 1005 Save method, 1005, 1010

profile element, web.config, 196 automaticSaveEnabled attribute, 1010 configuring SqlProfileProvider, 1001

profile groups, 1007–1008 profile properties, 1002–1005 Profile property, current page, 1004 profile providers

custom profile providers, 1017, 1029 classes, 1017–1019 coding, 1021–1025 designing, 1020–1021 testing, 1026–1029

FactoredProfileProvider class, 1020–1029 reading profile information, 1023–1024 updating profile information, 1025

profile section, web.config, 1003, 1015 profile service, AJAX, 1270–1272 profile tables, 999–1000 ProfileAuthenticationOption enumeration,

1013 ProfileAutoSaving event, 1010, 1011, 1012 ProfileBase class, 1004, 1012, 1017 ProfileCommon class, 1012, 1013 ProfileInfo class, 1013 ProfileManager class, 1013

custom profile providers, 1018 methods, 1013–1014

ProfileModule class, 996, 1003 custom type serialization, 1009 default values, 1003 managing automatic saves, 1010 MigrateAnonymous event, 1016 profile serialization, 1007 ProfileAutoSaving event, 1010, 1011, 1012

ProfileParameter tag, 375 ProfileProvider class, 1017

coding FactoredProfileProvider, 1021 custom profile providers, 1017 methods, 1019

profiles, 995–998 accessing profile information, 1004 anonymous profiles, 1015–1017 anonymous user log in, 1016–1017 ASP.NET 2.0, 13 aspnet_Profile table, 999 auditing, 998 authentication, 995, 997 cache profiles, 484–485 caching, 998 custom data components compared, 998 custom data types, 1008–1012 custom profile providers, 1017–1029 database tables used for, 999–1000

Page 72: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1586

encryption, 998 InstallProfile.sql script, 891 managing automatic saves, 1010–1012 page life cycle, 996 performance, 995–996 retrieving information for specific user, 1012 retrieving profile that doesn’t exist, 1013 scalability, 996 serialization, 1009–1010 SqlProfileProvider class, 998–1017

anonymous profiles, 1015–1017 configuring provider, 1001–1002 creating profile tables, 999–1000 defining profile properties, 1002–1003 profile groups, 1007–1008 profile serialization, 1005–1007 using profile properties, 1003–1005

state management compared, 235, 236, 995 stored procedures, 1001 storing data, 996–997 validation, 998

profiles API, 1012–1014 ProfileService class, 1271 profileService element, web.config, 1270 programmatic encryption, 209–210 programmatic impersonation, 957, 960–963

getting tokens, 960–961 performing impersonation, 961–963

programmatic navigation, 761 programming

OOP in JavaScript, 1289–1298 programming models, wizards, 746 progress indicator

UpdateProgress control, 1282 ProgressBar class, 1472 ProgressTemplate property, 1283

cancel button, 1284 project management events, Visual Studio, 37 Project Types tree, 60 project-based development, 22, 23, 59–60

see also web projects adding assembly references, 45 creating web projects, 60–61 deployment, ASP.NET, 60 file management, 59 migration, 60 models for coding web pages, 53 projectless development compared, 59, 60

Project/Solution command, 62 projections, LINQ expressions, 567–569 projectless development, 23

adding assembly references, 44 advantage of, 58

control declarations, 60, 61 creating website, 23–27

development language, 24 framework version, 24–25 location, 26–27 template, 25–26

debugging, 59 deploying website, 817–819 deployment, 59 file management, 59 language mixing, 59 migrating websites, 61 models for coding web pages, 53 project-based development compared, 59,

60 team collaboration, 59 Visual Studio, 1113 web.config file, 61

Projects tab, Add Reference dialog, 215 promotable transactions, 304 properties

see also server control properties adding, user controls, 687–689 automatic properties, 320 entity classes, 584 profile properties, 1002–1005 web control classes, 139

properties collection, ProfileService, 1271 properties element, web.config, 1002 Properties window, Visual Studio, 28, 29, 35

configuring command in, 370 configuring GridView styles, 411 connecting events to event handlers, 57 PageFlow example, 94

property element attributes, web.config, 1003 property-based animation, Silverlight, 1494 PropertyExpression filter, 617–618 PropertyGridEditorPart class, 1349, 1350 PropertyNames field, 999, 1006, 1007 PropertyValuesBinary field, 999, 1006, 1007,

1017 PropertyValuesString field, 999, 1005, 1006,

1007, 1017 protected accessibility keyword, 56 protected variables, 57 ProtectedData class, 1043, 1061 protection attribute, web.config, 861 ProtectKey property, 1043, 1045 ProtectSection method, 209 prototype property

client-side AJAX control, 1300 JavaScript, 1292, 1297

prototypes, JavaScript, 1292

Page 73: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1587

prov switch, aspnet_regiis.exe, 210 provider attribute, web.config, 1003 provider model, ASP.NET 2.0, 13 Provider property

Roles class, 984 SiteMap class, 762

provider web parts, 1355, 1356–1358 provider-agnostic code

creating factories, 311–312 creating objects with factories, 312–313 queries with, 313–315

ProviderBase class coding FactoredProfileProvider, 1021–1022 custom profile providers, 1017 implementing provider classes, 1079 Initialize method, 1018, 1022, 1023 name property, 1018

ProviderConnectionPointID parameter, 1363 providers

see also custom membership and roles providers; data providers

ActiveDirectoryMembershipProvider, 883, 884

AuthorizationStoreRoleProvider, 980 cache provider, 486–490 configuring membership providers, 892–896 ConnectionProvider attribute, 1355, 1356,

1358, 1362 custom profile providers, 1017–1029 DbProviderFactories, 311, 312 DbProviderFactory, 312, 313 DESCryptoServiceProvider, 1037 DPAPI provider, 208, 1043 DSACryptoServiceProvider, 1038 FactoredProfileProvider, 1020–1029 implementing provider classes, 1078–1101 membership providers, 884, 892–896, 923–

925 MembershipProvider, 883, 1069, 1079 MembershipProviderCollection, 883 ODBC provider, 275, 276 OLE DB provider, 275, 276, 279, 297 Oracle provider, 275, 283, 284 OutputCacheProvider, 487, 488, 489, 490 ProfileProvider, 1017, 1019, 1021 RC2CryptoServiceProvider, 1037 RoleProvider, 980, 1069, 1096, 1097 RoleProviderCollection, 980 RSA provider, 208 RSACryptoServiceProvider, 1038 SettingsProvider class, 1017, 1018, 1019 SiteMapProvider class, 753, 764–772 SQL Server data providers, 283, 284

SqlMembershipProvider, 883, 884, 885, 886, 887, 892, 893, 894

SqlProfileProvider, 998–1017 SqlRoleProvider, 979, 980, 988 SqlSiteMapProvider, 765, 766, 767, 768, 770,

771 state providers, 256 StaticSiteMapProvider, 764, 765, 769 TripleDESCryptoServiceProvider, 1037 using custom provider classes, 1102–1105 using custom providers with IIS 7.x, 1104–

1105 VirtualPathProvider, 822–825 WindowsTokenRoleProvider, 980, 986 XmlMembershipProvider, 1070, 1078–1095,

1102 XmlRoleProvider, 1070, 1095–1101, 1102 XmlSiteMapProvider, 751, 752, 753, 759,

760, 764 Providers feature, IIS 7.x, 993 Providers property, Roles, 984 providers section, web.config, 893, 1020 ProviderSpecific serialization option, 1006 ProviderUserKey property

custom providers, 1069, 1071 encrypting sensitive data, 1054, 1057, 1058

proxy class, Silverlight, 1508, 1510, 1511 proxy objects, AJAX, 1261 public keys

asymmetric encryption algorithms, 1038, 1050, 1051, 1052

SSL, 845, 846 Publish Web dialog box, 811, 812, 815, 816

■Q QEL (Quotation Exchange Language), 211 quantifiers, regular expressions, 165 queries

avoiding wide-open queries, 318 with provider-agnostic code, 313–315

queries, LINQ, 563–577 LINQ to DataSet, 577–580 LINQ to Entities, 581–595

queries, SQL, 288 ObjectDataSource, 386–388 SqlDataSource, 370–372

query strings, 245–247 encrypting, 1059–1064 output caching, 478, 479 state management options compared, 234 wrapping, 1060–1063

QueryDataFromDatabase method, 493

Page 74: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1588

QueryExtender control, 615–619 MethodExpression filter, 618–619 PropertyExpression filter, 617–618 RangeExpression filter, 616–617 SearchExpression filter, 615–616

querying stored procedures LINQ to Entities, 587–589

QueryString collection, 246 QueryString Collection section, trace log, 115 QueryString property, 107, 775 QueryStringParameter tag, 375 Question ID

CreateUserWizard template, 920 PasswordRecovery template, 916

QuestionTemplate property, 914, 915, 916 QueueUserWorkItem method, 515 quirks mode, Internet Explorer, 84 Quotation class, 211 quotation marks

&quot; entity, HTML, 112

■R -R switch, aspnet_regsql.exe, 889 radio type, input tag, 129 RadioButton control class, 139

Silverlight elements, 1472 validating, 158

RadioButtonFor method, MVC, 1396 RadioButtonList control, 151, 152

repeated-value binding, 359 RaiseCallbackEvent method, 1239, 1240, 1246 RaisePostBackEvent method, 1135, 1224 RaisePostDataChangedEvent method, 1131,

1133 RAISERROR statement, transactions, 306 RandomNumberExpressionBuilder class, 356 RandomNumberGenerator class, 1035 Range attribute

adding validation annotations, MVC, 1406, 1407

validating data fields, Dynamic Data, 1452, 1454

RangeExpression filter, QueryExtender, 616–617 RangeValidator control, 158, 162 Rating control, AJAX, 1313 RawUrl property, 775 RC2 abstract algorithm class, 1037 RC2CryptoServiceProvider class, 1037 Read method

DataReader, 287, 288, 291 StreamReader, 549 XmlTextReader, 632

readAccessProperties attribute, 1270, 1271 ReadAllBytes method, 529, 549 ReadAllLines method, 529 ReadAllText method, 529, 549 ReadCommitted value, IsolationLevel, 308, 310 ReadElementString method, 634 ReadEndElement method, 634 reading configuration sections

programmatically, 199–202 reading XML files, 632–635 reading XML with XDocument, 644–646 ReadInt32 method, 550 ReadKey method, 1045, 1046, 1052 ReadLine method, 549 readOnly attribute, web.config, 1003 ReadOnly mode, DetailsView, 453 ReadOnly property, BoundField, 404 ReadOnly value, FileAttributes, 535 ReadStartElement method, 634 ReadString method, 550 ReadToEnd method, 549 ReadUncommitted value, IsolationLevel, 308, 310 ReadXml method, 334, 632, 677, 678, 1185 ReadXmlSchema method, 334, 678 readyState property, Ajax, 1236 Recent tab, Add Reference dialog, 216 record pagination, 423 records

custom pagination, ObjectDataSource, 426 deleting, SqlDataSource, 383 DetailsView control, 451, 452

operations on records, 453–454 FormView control, 451 inserting, SqlDataSource, 384 selecting

ObjectDataSource, 386–388 SqlDataSource, 370–372

updating ObjectDataSource, 392–396 SqlDataSource, 379–380

RecreateChildControls method, 1138 Rectangle class, Silverlight, 1473 RectangleHotSpot class, 1144 rectangles

AddRectangle method, 1157 DrawRectangle method, 1154 FillRectangle method, 1154

recursive path operator, 651 Recycle action, application pools, 828 Redirect method, 108, 110, 246, 264 RedirectFromLoginPage method, 899, 900

controlling user access, 968 creating custom login page, 867, 868

Page 75: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1589

custom credentials store, 871 persistent cookies, 872

redirection, 774 RedirectPermanent method, 108, 110 RedirectResult class, MVC, 1410 redirects4, 71 RedirectToAction method, MVC, 1409, 1410,

1411, 1412 RedirectToRoute method

action results, MVC, 1409 HttpResponse, 108

RedirectToRoutePermanent method, 108 RedirectToRouteResult class, MVC, 1409 reference assemblies, Visual Studio, 24 referential integrity, 340 Reflector tool, 7 Refresh event

DirectoryInfo class, 531, 533 DynamicPanel control, 1249 ObjectContext, 602, 604

Refresh Now verb, 1364 RefreshMode enumeration, 602, 603 regenerateExpiredSessionId attribute, 265, 266 Register directive

accessing custom controls, 1112 creating user control, 685 custom controls in Toolbox, 1114 using custom web parts, 1347

RegisterAsyncTask method, 524, 525 registerClass method, JavaScript, 1293, 1294,

1296, 1298 RegisterClientScriptBlock method, 1208, 1227 RegisterForEventValidation method, 1242 registerInterface method, JavaScript, 1297 registerNamespace method, JavaScript, 1295 RegisterRequiresControlState method, 1130 RegisterRequiresPostback method, 1132 RegisterRequiresViewStateEncryption method,

245, 1128 RegisterRoutes method

Dynamic Data, 1417, 1433, 1438, 1441 MVC application, 1385

RegisterStartupScript method, 1208, 1227 RegisterStyle method, 102 regular expressions, 164–166

greedy matching, 1140 RegularExpressionAttribute, MVC, 1407 RegularExpressionValidator control, 158,

163–166 creating custom login page, 866 Login templates, 907 ValidationExpression property, 163

relational operators, LINQ, 570

Relations property, DataSet, 332, 338 relationships

entity relationships LINQ to Entities, 586–587 one-to-many relationships, 586 one-to-one relationships, 587

filtering with, DataView, 347–348 table relationships, 337–339

relative links, cookieless state, 264 relative paths, master pages, 730–731 ReleaseRequestState event, 185 RememberMe ID, Login template, 907 RememberMeSet property, 904 remote connections

preparing IIS using web deploy, 805 remote method calls, AJAX, 1252 Remote Web Site type, Choose Location dialog,

27 Remove method

Cache object, 503 OutputCacheProvider, 487, 488, 489

Remove value, Transform attribute, 809 Removed value, CacheItemRemovedReason,

504 removeHandler method, HoverButton, 1300 RemoveUserFromRole method, 985 RemoveUserFromRoles method, 985 RemoveUsersFromRole method, 985 RemoveUsersFromRoles method, 985, 1099 Rename Tab option, 38 Render method

Control class, 1110, 1111, 1115, 1119 ControlAdapter, 1126 JavaScript, 1218 WebControl, 1116

RenderBeginTag method, 1122 HtmlTextWriter, 1110, 1111 WebControl, 1116, 1118, 1119 WebControlAdapter, 1126

RenderChildren method, 1119, 1126 RenderContents method

Control class, 1118 creating custom web parts, 1339 initializing custom web part, 1342 rendering custom web parts, 1346 WebControl class, 1116, 1118, 1119 WebControlAdapter class, 1126 XmlLabel control, 1141

RenderControl method, 126 creating custom web parts, 1339 rendering custom web parts, 1346 rendering process, 1119, 1120

RenderCurrentNodeAsLink property, 756

Page 76: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1590

RenderEndTag method, 1122 HtmlTextWriter, 1110, 1111 WebControl, 1116, 1119 WebControlAdapter, 1126

rendering adaptive rendering, 1126 configuring XHTML rendering, 84–85 controlRenderingCompatibilityVersion

attribute, 84 creating custom web parts, 1339, 1345–1346 custom controls using GDI+, 1169–1172 custom server controls, 1119–1121 image format and quality, GDI+, 1152 implementing web parts through user

controls, 1339 legacy rendering, 85 page rendering, 100 partial rendering, 1272 script blocks, JavaScript, 1208–1209

rendering methods, controls, 1120 RenderMode property, UpdatePanel, 1274 RenderTransform property, Silverlight, 1504,

1505 RenderTransformOrigin property, 1504 ReorderList control, AJAX, 1313 ReparsePoint value, FileAttributes, 535 RepeatableRead value, IsolationLevel, 309, 310 RepeatBehavior property, Silverlight, 1498 RepeatColumns property, 153 RepeatDirection property, 152 repeated-value binding, 352, 359–367

binding to DataReader, 363–365 binding to DataView, 367 data properties of list controls, 359 DataSource property, 352 GridView control, 366–367 list controls, 361 rich data controls, 365–367

repeated-value controls, data binding, 352 RepeatLayout property, 152 Replace method, String, 113 Replace value, Transform attribute, 809 replay attacks

Digest authentication, 939 forms authentication, 857

Replicator role, WindowsBuiltInRole, 953 Reporting Toolbox tab, 38 Reports Web Site template, 26 ReportViewer control, Visual Studio, 38 Request Context Parameter field

Application Warm-Up, IIS, 830 Request Details section, trace log, 114 Request object, 105, 106–107

ApplicationPath value, 201 Cookies collection, 254 CurrentExecutionFilePath value, 201 Form collection, 73 HttpRequest properties, 106 Path property, 775 QueryString collection, 247 QueryString property, 775 RawUrl property, 775

Request Send Mode field Application Warm-Up, IIS, 830

request validation script injection attacks, 1210–1215

disabling request validation, 1211–1213 extending request validation, 1213–1215

requestLimit attribute, web.config, 118, 119 requests

application events, 185–186 XMLHttpRequest object, 1230–1231

requestValidationMode attribute, 1211 requestValidationSource argument

IsValidRequestString method, 1214 requestValidationType attribute, 1215 RequestValidator class, 1214 Required attribute, Dynamic Data, 1451, 1452 RequiredAttribute class, MVC, 1407 RequiredFieldValidator control, 158, 162

creating custom login page, 866 cross-page posting, 252, 253 EnableClientScript property, 253 InitialValue property, 162 Login templates, 907

RequiresPersonalization property, 1328 requiresQuestionAndAnswer property, 895 requireSSL attribute, web.config, 861 requiresUniqueEmail property, 895 reset type, input tag, 129 ResetPassword method, 1091, 1093 resizable attribute, pop-ups, 1216 Resizable property, PopUp, 1217 ResizableControlExtender control, AJAX, 1311 ResolveRequestCache event, 185 ResourceExpressionBuilder class, 355 Resources collection, Silverlight, 1496

animating transforms, 1506 Response object, 105, 108–111

BinaryWrite method, 464, 465, 466 Cache property, 481 Cookies collection, 254 HttpResponse methods, 108, 109 HttpResponse properties, 108, 109 moving between pages, 110–111 OutputStream property, 1149, 1163

Page 77: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1591

Redirect method, 264 Write method, 97, 248

responseText property, 1231 responseXML property, 1231 Result property

CompletedSyncResult, 521, 522 EventArgs, 1511

result sets, processing multiple, 291–292 Resume method, Storyboard, 1497 reusability

implementing web parts, 1339 rich controls, 124, 172–177

AdRotator, 173–174 Calendar, 173, 175–177 MultiView, 173 Substitution, 173 View, 173 Wizard, 173 Xml, 173

rich data controls changes in ASP.NET 4, 401 deleting records, 383 DetailsView, 451, 452–454 FormView, 451, 454–456 GridView, 402–444 inserting records, 384 ListView, 444–451 repeated-value binding, 365–367 updating records, 379

rich navigational controls, 737 RID (Role Identifier), 952 Rijndael (AES)

machineKey element, 191 Rijndael abstract algorithm class, 1037 RijndaelManaged class, 1037 robots metatag, 102 role service, AJAX, 1267–1270 role-based authorization, 842, 975–988

accessing roles programmatically, 984–986 AJAX application services, 1267–1270 enabling, 976 using LoginView with roles, 983

RoleExists method Roles class, 985 XmlRoleProvider, 1097, 1098

RoleGroup control, 911 RoleGroups template, 983 roleManager element, web.config, 196

accessing roles programmatically, 984 configuration, 977, 978–979

RoleManagerModule class, 980 role-based authorization, 976, 981 Windows authentication, 987

RolePrincipal class, 952, 980 IsInRole method, 981 role-based authorization, 976, 981 Windows authentication, 987

RoleProvider class, 980 ApplicationName property, 1097 creating custom providers, 1069 implementing XmlRoleProvider, 1096

RoleProviderCollection class, 980 roles

accessing programmatically, 984–986 adding users to, 981 authorization in IIS 7.x, 988–994 authorization using IsInRole method,

972–973 authorization in IIS 7.x, 991–993 authorization, role-based, 975–988 changing declarative permissions, 975 classes, 980 configuring, 976 controlling access, 970–972 IdentityReference class, 955 implementing custom providers, 1067 InstallRoles.sql script, 890 managing with IIS 7.x, 993–994 membership and roles framework, 1068 using LoginView with, 983 Windows authentication, 986–988 XmlRoleProvider class, 1095–1101

roles attribute, nodes, 773 Roles class, 980

accessing roles programmatically, 984, 986 AddUsersToRole method, 986 debugging using WAT, 1103 methods, 984–985 Provider property, 984 Providers property, 984 role-based authorization, 976

roles providers see also custom membership and roles

providers configuring role-based authorization, 978 configuring with IIS 7.x, 994

RoleService class, 1268 roleService element, web.config, 1267 RoleStore class

designing and implementing store, 1072, 1076

designing custom providers, 1070 GetRole method, 1099 GetRolesForUsers method, 1100 implementing XmlRoleProvider, 1095, 1099,

1100

Page 78: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1592

Rollback method, Transaction, 306 setting savepoints, 310

rollover buttons, JavaScript, 1221–1225 root element

well-formed XML, 624 XML schemas, 627

root node showing portion of site map, 758

Root property, 531 RootDirectory property, 534 RootNode property, 762 RootNodeStyle property, 757, 784 RootNodeTemplate property, 757 RotateTransform class, Silverlight, 1503, 1504,

1505 RoundedCornersExtender control, AJAX, 1311 RouteCollection class

MapPageRoute method, 775 RouteData property, 775, 776 routeName argument

MapPageRoute method, 775 RouteParameter tag, 376 routes, 1432–1437

changing URL format, 1435 constraining, 1435–1437 customizing Dynamic Data websites with,

1432–1441 route discovery by table, 1439 switching to single-page editing, 1437–

1438 using different templates for tables,

1438–1441 DynamicDataRoute class, 1433

Routes property, 775 RouteTable class, 775 routeUrl argument

MapPageRoute method, 775 RouteValueDictionary class, 1436, 1439 routing

ASP.NET 4, 17 configuring, MVC, 1385–1386 navigation changes in ASP.NET 4, 737 register routes, 775 URL routing, 774, 775–776

Row property, Silverlight, 1489 RowCommand event, GridView

adding events to user control, 694 handling events, 436 using data field as Select button, 418

RowDataBound event, GridView binding to a method, 435 formatting-specific values, 412 parent/child view in single table, 460

RowDefinitions collection, 1488, 1489 RowFilter property, DataView, 342, 345, 498 ROWNUM operator, WHERE clause, 427 ROWNUMBER function, SQL, 427 rows

DataRow class, 333 GridView styles, 409 searching for specific rows, 340 selecting rows, GridView, 414–418 SingleRow value, 291

Rows collection, 132, 333 RowSpan property, 1493 RowStyle property, 408 RowUpdated event, 470 RowUpdating event, 440 RSA abstract algorithm class, 1038, 1050 RSA provider, 208 RSACryptoServiceProvider class, 1038 rules, CSS, 706–708

applying stylesheet rules, 708–709 precedence, 709

Run to Cursor command, Visual Studio, 66 runat="server" attribute, 10

configuring HTML element as server control, 31

connecting control tags to page variables, 56

creating server-side HTML controls, 38 form tag, ASP.NET, 74 HTML server controls, 123, 128

■S -S switch, aspnet_regsql.exe, 889, 891, 999 salted password hashes, 1034, 1091–1093 Save method

Bitmap class, 1163 Configuration class, 201, 202 Image class, 1151, 1162 implementing custom store, 1075 managing automatic saves, 1010 Profile class, 1005, 1010 ProfileCommon, 1012 ProfileService, 1271 SqlTransaction, 310 XDocument, 644 XmlDataSource, 677 XmlDocument, 639

SaveAs method Configuration class, 202 HttpPostedFile, 551

SaveChanges method, MVC, 1390 SaveChanges method, ObjectContext

Page 79: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1593

concurrency, database operations, 600, 601 delete database operations, 600 handling concurrency conflicts, 603, 604 insert database operations, 595, 596 inserting associated entities, 598 update database operations, 599

SaveControlState method, 1130 savepoints, transactions, 310 SaveStore method, 1074, 1075 SaveViewState method, 1129 ScaffoldAllTable property, 1418 ScaffoldColumn attribute, 1446, 1447 scaffolding

Dynamic Data website, 1446–1448, 1419 scalability

pessimistic concurrency, 328 profiles, 996 transactions affecting, 303

ScaleTransform class, Silverlight, 1503 schemas

advantages of XML, 623 aspnet_SchemaVersions table, 1000 XML, 626–628

Scientific type format string, 407 scope

state management options compared, 234, 235

script block, ascx file, 686 script blocks, JavaScript, 1189, 1190, 1193–1195

rendering, 1208–1209 script injection attacks, 1210–1215

request validation, 1210–1215 disabling, 1211–1213 extending, 1213–1215

script libraries, AJAX, 1252–1253 script resources, AJAX, 1253 script tags

inadvertently executing block of, 113 request validation, 1210

extending, 1214 script injection attacks, 1210

ScriptManager control, AJAX, 1253, 1272 AddHistoryPoint method, 1285 adding history points, 1285–1286 Application object, 1298 ASP.NET AJAX control toolkit, 1305 AutoCompleteExtender control, 1306 calling web services, 1260 client-side AJAX control, 1302 EnableHistory property, 1285 EnablePageMethods property, 1263 EnablePartialRendering property, 1273 EnableSecureHistoryState property, 1287

handling errors, UpdatePanel, 1275 managing browser history, 1284–1288 Navigate event, 1286, 1287 partial rendering, UpdatePanel, 1273 placing web method in page, 1263 registering classes, 1293, 1294 restoring page state, 1287 storing state in URL, 1287–1288

ScriptManagerProxy control, 1253 ScriptMethod attribute, AJAX, 1263 scripts

writing client-side scripts, Ajax, 1240–1242 Scripts folder, MVC, 1378 ScriptService attribute, AJAX, 1256, 1257 scrollbars attribute, pop-ups, 1216 ScrollBars property

Panel, 146–147, 406 PopUp, 1217

ScrollViewer class, Silverlight, 1473 SDK (software development kit)

ildasm.exe file, 7 Seadragon control, AJAX, 1313 Search terms box, Visual Studio, 51 SearchExpression filter, QueryExtender,

615–616 searching XML content, 648–655

LINQ, 653–655 XmlDocument, 648–651 XPath class, 651–653

secret keys, 846 secrets, managing

disassembling tools, 1042 encrypting sensitive data, 1041–1043 ProtectedData class, 1043

section element, web.config, 206 SectionInformation class, 209 sections, replacing

transforming web.config file, 809 Secure Sockets Layer see SSL Secure subdirectory, web.config, 194 securing session state, 265–266 security

application services, AJAX, 1269 authentication, 841 authorization, 841–842 certificates, SSL, 845 confidentiality, 842 creating secure software, 837–839

gatekeepers, 839–840 secure coding, 838–839 understanding threats, 837–838

creating unique filenames, 553–556 credentials store, web.config, 871

Page 80: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1594

encrypting configuration sections, 208–210 encryption, 842 forms authentication, 853–879 generating cryptographically strong random

numbers, 1034 impersonation, 841, 957 implementing cookie authentication, 857 integrity, 842 levels of, 840–844 locking file access objects, 556–557 multiple users accessing files, 552–557 persistent cookies, 872 placing web method in page, AJAX, 1264 script injection attacks, 1210–1215 session hijacking, 872 setting up security in WAT, 884, 885 SSL, 844–850

configuring bindings for, 849 configuring in IIS, 847–850 encoding information with, 850

state management options compared, 234, 235, 236

stored procedures, 299 view state, 244–245 web applications, 837

security classes, cryptography namespace, 1032 security controls, ASP.NET 2.0, 13 security controls, membership API, 898–923

ChangePassword, 899, 917–918 CreateUserWizard, 899, 918–923 Login, 898, 899–910 LoginStatus, 898, 910–911 LoginView, 898, 911–912 PasswordRecovery, 898, 912–917

Security Setup Wizard, 976 security trimming, site maps, 772–773 SecurityCritical attribute, Silverlight, 1481 SecurityException class, 530 SecurityIdentifier class, 955, 956 Seek method

BinaryWriter class, 550 CryptoStream class, 1041 Storyboard class, 1497

Select Application Pool dialog box, 828 Select clause, LINQ, 567, 568 Select method

DataTable, 340, 341 lambda expressions, 576 LINQ expressions, 575, 576, 577 XPathNavigator class, 652

Select property, EntityDataSource, 609

SELECT query, SQL limiting records returned, 288 transaction best practices, 303 using * wildcard, 288

SELECT statement concurrency strategies, 327

select tag, HtmlSelect, 129 selectable list controls, 152–155 Selectable property, MenuItem, 787 SelectCommand property

DataAdapter class, 334, 336 SqlDataSource, 370

SelectCommandType property, 370, 375 SelectCountMethod property, 425, 426 Selected event

page life cycle with data binding, 369 SqlDataSource, 378

Selected property, ListItem, 151, 154 SelectedDataKey property, 415, 416 SelectedDates property, 176 SelectedIndex property

DropDownList, 439 GridView, 415, 418 ListControl, 151

SelectedIndexChanged event GridView, 415, 417, 418

file-browsing application, 544 retrieving users, 930

ListControl, 152 SelectedIndexChanging event, 415 SelectedItem property, 151, 154 SelectedItemTemplate property, 445 SelectedNodeChanged event, 777, 779 SelectedNodeStyle property, 784 SelectedRowStyle property, 409, 415 SelectedValue property, DropDownList

editing with GridView template, 440 parameterized commands, 374

SelectedValue property, GridView editing field using lookup tables, 463 retrieving users from membership store,

929 SelectImageUrl property, 414 SelectIndexChanged event, 437 Selecting event

ObjectDataSource, 391 Page, 369 SqlDataSource, 377, 474

selecting records ObjectDataSource, 386–388

method parameters, 390–391 parameterized constructor, 388–389

Page 81: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1595

SqlDataSource, 370–372 parameterized commands, 373–378

selecting rows, GridView, 414–418 selection mode, TreeNode, 777 SelectionChanged event, Calendar, 175 SelectionMode property, Calendar, 176 SelectIterator(Of T) class, LINQ, 565 SelectList class, MVC, 1401, 1402 SelectMany method, 587 SelectMethod property, 387 SelectNodes method, 652 selectors, CSS, 708 SelectQuery property, 370 SelectSingleNode method, 652 SelectText property, 414 self-signed certificate, creating, 848 send method, XMLHttpRequest, 1231 SendingMail event

CreateUserWizard, 921 PasswordRecovery, 914, 916

SendMailError event, 921 SeparatorImageUrl property, 787 SequentialAccess value, CommandBehavior,

291 Serializable attribute, 239, 558, 1007, 1009 Serializable value, IsolationLevel, 309, 310 serialization

Binary mode, 1007 class requirements for, 558 converting object into byte stream, 559 files, 558–561 NonSerialized attribute, 559 passing information between pages, 1172 profile serialization, 1005–1007 profiles and custom data types, 1009–1010 Xml mode, 1007

SerializationException class, 558 serializeAs attribute, web.config, 1003, 1006 Series class

binding chart to database table, 1180, 1181 binding chart to LINQ, 1187 binding chart to XML file, 1185 BorderWidth property, 1176 charts, 1175 ChartType property, 1175, 1180 Color property, 1176 DataBindXY method, 1181, 1185 DataBind method, 1187 Points collection, 1176 ShadowOffset property, 1176 XValueMember property, 1183 YValueMember property, 1183

Series collection, Chart, 1175, 1180

server sending client-side data to, 72

server callbacks, AJAX, 1254–1272 application services, 1264–1272 authentication service, forms, 1265–1267 placing web method in page, 1263–1264 profile service, 1270–1272 role service, 1267–1270 web method, creating, 1257–1260 web services, 1254–1263

calling, 1260–1263 creating, 1256–1257

Server Certificates feature configuring SSL in IIS, 847, 848

server control methods BaseValidator, 161 Control class, 126

server control properties AdRotator, 174 BaseValidator, 161 BulletedList, 156 Calendar, 175, 176 CheckBoxList, 152 CompareValidator, 163 Control class, 125 CustomValidator, 167 HtmlContainerControl, 127 HtmlControl, 127 HtmlInputControl, 128 ListControl, 151 RadioButtonList, 152 RangeValidator, 162 ValidationSummary, 168 WebControl, 138

server controls, 123, 1109–1120 see also custom server controls adding web parts to pages, 1323 ASP.NET AJAX, 124, 1272–1288

managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284 timed refreshes, 1280–1281

ASP.NET Dynamic Data controls, 124 client-side control IDs, 88 composite controls, 1136–1139 Control class, 1109 creating programmatically, 131–133 data controls, 124 derived controls, 1139–1142 encapsulation, 10 handling server-side events, 133–136 hierarchy of controls, 124–125 HTML server controls, 123, 126–136

Page 82: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1596

HtmlContainerControl class, 127 HtmlControl class, 127 HtmlInputControl class, 128 inheritance hierarchy, 124 input validation controls, 157–172 list controls, 150–157 login controls, 124 navigation controls, 124 rich controls, 124, 172–177 Timer control, 1280–1281 Toolbox window, 35, 37 types of, 123–125 UpdatePanel control, 1273–1280 UpdateProgress control, 1281–1284 validation controls, 124, 157–172 web control classes, 138–139 web controls, 123, 136–150

extending, 1136–1142 web parts controls, 124 WebControl class, 137, 1109

Server Explorer window, Visual Studio, 35, 40, 281 Server object, 105, 111–113

HTML and URL encoding, 112–113 HtmlEncode method, 100 Transfer method, 745

Server Variables section, trace log, 115 Server View, IIS Manager, 797, 798 server-based controls see server controls ServerChange event, 133, 134–136

web control events, 147 ServerClick event, 133, 134–136

web control events, 147 server-side ASP.NET AJAX, 1251, 1253 server-side errors, handling, 1275 server-side events, handling, 133–136 server-side form tag, web controls, 140 ServerValidate event, 167 ServerVariables collection, 107 ServerVariables property, 107 Service Broker

cache notifications, 505 service references, Silverlight, 1510 ServiceReference elements, ScriptManager,

1260 services

ApplicationServices.dll assembly, 43 Services.dll assembly, 43 web services files, 36

Services property, 1264 Services section, ScriptManager, 1260, 1263 services, ASP.NET AJAX

application services, 1264–1272 authentication service, forms, 1265–1267

profile service, 1270–1272 role service, 1267–1270 web services, 1254–1263

Session collection passing information between pages, 1172

session compression, 233 session hijacking

persistent cookies, 872 session keys, 846

Kerberos authentication, 942 Session object, 105, 106

Abandon method, 257 accessing, 227 IsCookieless property, 265 losing session state, 257 web method accessing, AJAX, 1258

session state, 106, 255–266 architecture, 255–257 compression, 17, 263–264 configuring, 258–265 HTTP handlers, 227 HttpSessionState class, 257

methods, 258 properties, 257–258

losing, 257 securing, 265–266 state management

changes in ASP.NET 4, 233 disabling, 259 options compared, 235

tracking session ID, 256 web services, AJAX, 1258

Session State section, trace log, 114 session tickets, Kerberos, 942 Session_End method, 186 Session_Start method, 186 SessionID property, HttpSessionState, 258 SessionParameter tag, 375 sessionState element, web.config, 196

allowCustomSqlDatabase attribute, 263 compression, 263–264 compressionEnabled attribute, 263 configuring session state, 258–265 cookieless attribute, 264–265 cookieName attribute, 264 customProvider attribute, 263 enableCompression setting, 263 mode attribute, 259–263 regenerateExpiredSessionId attribute, 265,

266 sqlCommandTimeout attribute, 263 sqlConnectionString attribute, 261 stateConnectionString attribute, 260

Page 83: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1597

stateNetworkTimeout attribute, 261 timeout attribute, 265

SessionStateModule class, 256 End event, 259

Set method, OutputCacheProvider, 487, 488 Set Next Statement command, Visual Studio, 66 set_errorHandled method, 1276 SetAccessControl method, 528, 529 SetAttributes method, 529 SetAuthCookie method, 872 SetCacheability method, 481 SetCurrentDirectory method, 528 SetExpires method, 481 SetFocusOnError property, 161 setInterval method, window, 1200 SetPropertyValue method, 1004 SetPropertyValues method, 1019, 1025 SetSessionStateBehavior method, 233 SetTarget method, Storyboard, 1506 SettingsContext object, 1024 SettingsPropertyCollection class, 1023, 1024 SettingsPropertyValue objects, 1024 SettingsPropertyValueCollection, 1023 SettingsProvider class

ApplicationName property, 1018 custom profile providers, 1017 GetPropertyValues method, 1018 SetPropertyValues method, 1019

SetValue method, Silverlight, 1484 SetZIndex method, Silverlight, 1483 SHA1 algorithm

machineKey element, 191 passwordFormat attribute, 869

shadow copy technique, 182 ShadowOffset property, Series, 1176 shared application variables, 268–270 shared locks, 308 shared methods, 322 Shared property, OutputCache, 704 SharePoint, 988 ShoppingCartTest.aspx, 1017 Short Date type format string, 408 ShouldPerformDivTableSubstitution property,

1122 Show Next Statement command, Visual Studio, 66 ShowCheckBox property, 782 ShowCheckBoxes property, 782 ShowDeleteButton property, 383 ShowDirectoryContents method, 543 ShowEditButton property, 437 ShowExpandCollapse property, 782 ShowFooter property, 404, 456 ShowGridLines property, 1488, 1489

ShowHeader property, 404, 453, 541 ShowMessageBox property, 168 ShowSelectButton property, 414 ShowStartingNode property, 758, 759 ShowSummary property, 168 ShowToolTips property, 756 SID (security identifier)

authentication, 841 valid Windows identities, 955

SideBarButtonClick event, Wizard, 746 SideBarButtonStyle property, 748 SideBarStyle property, 748 SideBarTemplate property, 749 side-by-side execution

using, application pools, 828 SignOut method, FormsAuthentication, 868,

872 Silverlight, 19, 1458–1461

add-on assemblies, 1474 animation, 1494–1507 animation classes, 1495 Application template, 1462 Canvas class, 1481 Canvas layout container, 1482–1487 class libraries, 1480–1481 compilation process, 1463–1464 controls, 1472 creating Silverlight solution, 1462–1469 custom controls using, 1514 d namespace prefix, 1475 designing page, 1470–1474 dragging circles, 1484–1487 elements, 1472–1473 entry page, 1465–1469 fine-tuning rows and columns, 1490–1491 Flash compared, 1457, 1459–1460 Grid class, 1481 Grid layout container, 1488–1494 handling events, 1479 layering elements in Canvas, 1483 layout containers, 1481–1494 MatrixTransform class, 1504 mc namespace prefix, 1475 mscorlib.dll assembly, 1481 namespaces, mapping, 1475 nesting layout containers, 1491–1492 object element parameters, 1467–1468 presentation namespace, 1475 Resources collection, 1496, 1506 retaining state in Silverlight application, 1485 RotateTransform class, 1503, 1504, 1505 ScaleTransform class, 1503 setting properties, 1476

Page 84: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1598

SkewTransform class, 1503 spanning rows and columns, 1493 StackPanel class, 1481 StackPanel element, 1474, 1476 Storyboard class, 1495–1497 system requirements, 1461 System.Core.dll, 1481 System.dll, 1481 System.Net.dll, 1481 System.Windows.Browser.dll, 1481 System.Windows.dll, 1481 System.Xml.dll, 1481 TextBlock element, 1474 transform classes, 1503–1504 TransformGroup class, 1504, 1505 transforms, 1503–1507 TranslateTransform class, 1503 UpdatePanel control, 1469 User Control template, 1470 versions, 1457 viewing XAML pages, 1471 web services, 1507–1514

adding web reference, 1508–1510 calling, 1510–1511 configuring URL, 1511–1512 creating, 1508 cross-domain calls, 1512–1514

x namespace prefix, 1475 XAML, 1474–1476 XAML code-behind, 1477–1478 XAML namespace, 1475

Silverlight 4 Tools, 1458 Silverlight project

creating, 1462, 1469–1481 setting properties, 1476 XAML code-behind, 1477–1478

SimpleRole class, 1070, 1071, 1078 SimpleUser class

designing custom providers, 1070 implementing custom store, 1071, 1078 implementing provider classes, 1085, 1086,

1094 using salted password hashes, 1091

SingleRow value, CommandBehavior, 291 single-step debugging, Visual Studio, 64–66 Singleton pattern, 1072 single-value binding, 352–354 site map API, 762 site map model, 737 site map objects, 761–762 site maps, 751–773

adding caching, 770–772 adding custom information, 763–764

adding sorting, 770 authorization rules, 772 binding to, 754–755 breadcrumb navigation, 755–757 BuildSiteMap method, 766, 771 creating provider, 764–772 defining, 752–754 GetSiteMap stored procedure, 770 security trimming, 772–773 showing portion of, 757–761

skipping root node, 758 starting from current node, 758–759 starting from specific node, 759–761

SiteMapDataSource control, 751, 752 storing information in database, 764

Site name field, Add Web Site dialog, 820 Site.Master file

modifying, MVC application, 1385 SiteMap class, 762

defining site map, 752 siteMap element, web.config

creating site map provider, 765 defining site map, 752, 753

SiteMapDataSource class, 752 ShowStartingNode property, 758, 759 StartFromCurrentNode property, 758, 761 StartingNodeOffset property, 759, 760, 761 StartingNodeUrl property, 759, 760

SiteMapDataSource control, 368, 754 siteMapFile attribute, 760 SiteMapNode class, 762

ChildNodes property, 762, 769 creating site map provider, 768 properties, 762 retrieving custom attribute, 764

siteMapNode element defining site map, 752, 753 siteMapFile attribute, 760

SiteMapPath control, 755–757 ParentLevelsDisplayed property, 756, 761 properties, 756 styles and templates, 757

SiteMapProvider class, 753 adding caching, 770–772 adding sorting, 770 creating site map provider, 764–772 Initialize method, 765 storing site map information in database,

764 Sites item, IIS Manager, 798 Size property, FontInfo, 143 SkewTransform class, Silverlight, 1503

Page 85: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1599

SkinID attribute, 716 applying themes dynamically, 721 creating multiple skins for same control,

715 skins

caution when specifying details, 717 images, 717 multiple skins for same control, 715–716 templates, 716 themes, 711–712

Slider class, Silverlight, 1472 SliderExtender control, AJAX, 1311 SlideShowExtender control, AJAX, 1312 sliding expiration

data caching, 492 slidingExpiration attribute, web.config, 861 slidingExpiration parameter

Insert method, Cache, 492 sln files, 59 smart tags, 30

repeated-value binding, 367 Wizard control, 745, 750

smarts MultiView control, 741

SmoothingMode property, 1152 SmtpClient class, 913 Snapshot value, IsolationLevel, 309, 310 SoapFormatter class, 559, 561 social security number (US)

regular expressions, 166 software, creating secure, 837–839

gatekeepers, 839–840 secure coding, 838–839 understanding threats, 837–838

SolidBrush class, 1160 Solution Explorer, Visual Studio, 35, 36–37

adding new files, 37 adding reference to custom controls, 1113 debugging JavaScript, 1197 Dynamic Data projects, 1421 support for user instance databases, 281

solution files, Visual Studio, 24, 39 projectless development, 1113

Sort method, GridView, 422 Sort property, DataView, 342, 343

sorting with SqlDataSource, 419 SortExpression property, GridView, 405, 419 sorting

adding, site maps, 770 ASP.NET 4 changes in data controls, 401 DataView class, 343–344 LINQ expressions, 570

Sorting event, GridView, 422 sorting GridView, 418–423

simultaneous selection, 421 with ObjectDataSource, 419–421 with SqlDataSource, 419

SortParameterName property, 420 source code files

project-based development, 59 source parameter, Silverlight, 1467 source view, Visual Studio, 28 spaces

replacing with nonbreaking spaces, 113 span tag, Label control, 139 SparseFile value, FileAttributes, 535 special characters

avoiding SQL injection attacks, 297 HTML entities, 112 InnerText property, 127 metacharacter matching, 164 URL encoding, 247

SpecialBuild property, FileVersionInfo, 538 SpeedRatio property, Silverlight, 1498 splashScreenSource parameter, 1468 split view, Visual Studio, 28, 29 SQL

installing and uninstalling databases, 890 LINQ to SQL, 14, 581 ROWNUMBER function, 427

SQL cache notifications, 504–505 SQL injection attacks, 294–297

avoiding, 296–297 parameterized commands, 297, 298 Select method, DataTable, 341 stored procedures, 297 validation controls, 866

SQL Profiler tool, 590 SQL queries

limiting records returned, 288 similarity to LINQ expressions, 567 using * wildcard, 288

SQL script injection, 297 SQL Server

cache invalidation, 771 configuring connection strings, 892 connection pooling, 283, 284 distributed transactions, 306 file-based store, 892

SQL Server Express installing database tables on, 891 user instance connections, 280

SQL Server Express 2008 R2, 280

Page 86: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1600

SQL Server Express Edition, 887 creating database, 887, 888 creating profile tables, 999 file-based SQL Server store, 892

SQL Server provider, 275, 276 SQL Server Reporting Services, 26 SqlCacheDependency class, 505, 507 SqlCacheDependency property, 496 SqlClient namespace, 277 SqlClientFactory class, 311 sqlcmd.exe tool, 891 SqlCommand class, 515

see also Command class sqlCommandTimeout attribute, 263 SqlConnection class see Connection class sqlConnectionString attribute, 261 SqlDataAdapter class see DataAdapter class SqlDataReader class, 515

see also DataReader class binding chart to database table, 1179, 1180,

1181 SqlDataSource control, 368, 369–385

see also data source controls $ expressions, 355 accessing data source, 369 adding items to data-bound list, 397–400 automatic paging, 424 CacheDuration property, 373 CacheExpirationPolicy property, 373 caching with, 496, 497–499 configuring command in Properties

window, 370 ConflictDetection property, 380, 381, 383,

472 connection string, 370 data access without ADO.NET, 273 data binding, 372–373 data provider factories, 369 DataReader mode, 372 DataSet mode, 372 DataSourceMode property, 372, 419 DeleteCommand property, 370, 379, 383 DeleteCommandType property, 370 Deleted event, 378 Deleting event, 377 deleting records, 383 disadvantages of, 384–385 editing with GridView template, 438, 441 EnableCaching property, 373 error handling, 378 events, 377, 378 InsertCommand property, 370, 379, 384 InsertCommandType property, 370

Inserted event, 378, 384 Inserting event, 377 inserting records, 384 OldValuesParameterFormatString property,

381 pagination, 423 parameterized commands, 373–378 SelectCommand property, 370 SelectCommandType property, 370, 375 Selected event, 378 Selecting event, 377, 474 selecting records, 370–372 SelectQuery property, 370 sorting GridView with, 419 stored procedures, 375 Update method, 379 UpdateCommand property, 370, 379, 382, 441 UpdateCommandType property, 370 Updated event, 378 UpdateParameters collection, 379, 382 Updating event, 377, 383 updating records, 379–380

strict concurrency checking, 380–381 updating with stored procedures, 382–383

SqlDataSource tag defining parameter names in, 382

SqlDataSourceSelectingEventArgs class Command property, 377

SqlDataSourceStatusEventArgs class Exception property, 378, 384 ExceptionHandled property, 378

SqlDependency class, 507 SqlException class, 282 -sqlexportonly switch, aspnet_regsql.exe, 889 SqlMembershipProvider class, 883, 884

configuring membership providers, 893, 894 creating database, 885, 886, 887 file-based SQL Server store, 892 properties, 894–895 using membership API, 884

SqlProfileProvider class, 998–1017 anonymous profiles, 1015–1017 anonymous user log in, 1016–1017 configuring provider, 1001–1002 creating profile tables, 999–1000 custom data components, 998 custom data types, 1008–1012 defining profile properties, 1002–1003 managing automatic saves, 1010–1012 profile groups, 1007–1008 profile serialization, 1005–1007 profiles API, 1012–1014 profiles storing data, 997

Page 87: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1601

serialization, 1009–1010 using profile properties, 1003–1005

SqlRoleProvider class, 980 properties, 979 Windows authentication, 988

SQLServer mode, sessionState element, 259, 261–263

SqlSiteMapProvider class Clear method, 771 creating SiteMapProvider, 765, 766, 767,

768, 770 SqlTransaction class, 306

see also Transaction class Save method, 310

SqlTypes namespace, 278 Src attribute, ASP.NET, 55 src attribute, img tag

single-value binding, 353 src attribute, JavaScript, 1194

downloading images asynchronously, 1204 Src attribute, Register directive

creating user control, 685 src property, Image, 1225, 1228 ssadd parameter, aspnet_regsql.exe, 262 SSL (Secure Sockets Layer), 844–850

asymmetric encryption, 846 asymmetric key pair, 845 binding configuration in IIS, 850 certificates, 845 configuring bindings for, 849 configuring in IIS, 847–850 encoding information with, 850 forms authentication, 857 private keys, 845, 846 public keys, 845, 846 requireSSL attribute, forms tag, 861 secret keys, 846 secure coding, 839 session keys, 846 symmetric encryption, 846 symmetric key, 846, 847

ssremove parameter, aspnet_regsql.exe, 262 sstype parameter, aspnet_regsql.exe, 262 ST (session ticket)

Kerberos authentication, 942 stack

get_stacktrace method, 1262 stacked image controls, 1143 StackPanel class, Silverlight, 1473, 1481, 1492,

1494 Orientation property, 1482

StackPanel element, Silverlight, 1474, 1476 Standard Toolbox tab, 37

standards, XML, 623 Start event, 186, 188

URL routing, 775 Start method, SqlDependency, 507 Start Page, IIS Manager, 797 @Start parameter, stored procedures, 426 Start Web site immediately option, Add Web

Site dialog box, 821 StartCap property, Pens, 1158 StartFigure method, 1157 StartFromCurrentNode property, 758, 761 StartingNodeOffset property, 759, 760, 761 StartingNodeUrl property, 759, 760 StartNavigationTemplate property, 749 StartNextButtonStyle property, 748 StartRowIndexParameterName property, 425, 427 starts-with function, XPath, 652 state

AcquireRequestState method, 185 control state, 1129–1131 HTTP handlers and session state, 227 InstallSqlState.sql script, 891 ReleaseRequestState method, 185 ScriptManager restoring page state, 1287 Session state, 106 storing state in URL, 1287–1288 view state, 72, 77–81, 1127–1129 ViewState property, controls, 1127

state management profiles compared, 995 web.config file, 201

state management, ASP.NET, 234–236 application state, 266–270 changes in ASP.NET 4, 233 cookies, 254–255 opt-in model of view state, 233 opt-in state management, 243 options compared, 234–236 partial session state, 233 session compression, 233 session state, 255–266

configuring, 258–265 securing, 265–266 selectively enabling, 233

transferring information between pages, 245–253

cross-page posting, 247–253 query string, 245–247

view state, 236–245 assessing, 241–242 security, 244–245 selectively disabling, 242–244 storing objects in, 239–241

Page 88: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1602

state providers session state architecture, 256

stateConnectionString attribute, 260 stateless design

building data access component, 317 statelessness, cookies, 78 stateNetworkTimeout attribute, 261 StateServer mode, sessionState, 259, 260–261 static HTML tags, 31 Static value, ClientIDMode, 88, 90 StaticConnections, web parts, 1356, 1360 StaticDisplayLevels property, 790 StaticHoverStyle property, 790 StaticMenuItemStyle property, 790 StaticMenuItemTemplate property, 791 StaticMenuStyle property, 790 StaticObjects property, 258 StaticPartialCachingControl class, 702 StaticSelectedStyle property, 790 StaticSiteMapProvider class, 764

AddNode method, 769 creating site map provider, 765

StaticSubMenuIndent property, 790 Status Codes field

Application Warm-Up, IIS, 830 Status column

application pools, IIS, 827 status messages

JavaScript page processor, 1199 Step Into/Out/Over commands, Visual Studio, 66 StepXyx properties, Wizard, 748 StepType property, WizardStep, 743 Stop method, Storyboard, 1497 Stop Outlining option, Visual Studio, 46 storage location

state management options compared, 234, 235

store locations, 1034 stored procedure transactions, 303, 304–306 stored procedures, 299–301

avoiding SQL injection attacks, 297 building data access component, 320 custom pagination, 426–427 ExecuteNonQuery method, 301 ObjectDataSource, 426–427 passing null value to, 302 performance, 299 profiles, 1001 querying, LINQ to Entities, 587–589 security, 299 SqlDataSource, 375, 382–383 transaction best practices, 304 updating records, 382–383

StoredProcedure value, CommandType, 285, 286

StoreLocation enumeration, 1033, 1034 stores, 1071–1078

creating and adding users to, 1084–1088 storing data

profiles, 996–997 XML, 622

Storyboard class, Silverlight, 1495–1497 animating transforms, 1506 animation example, 1500 Completed event, 1499 methods, 1497 SetTarget method, 1506 Target property, 1501 TargetName property, 1495, 1496, 1497 TargetProperty property, 1495, 1496, 1501

stream classes, 546 BinaryWriter, 549 DeflateStream, 557 FileStream, 546 GZipStream, 557 XmlTextReader, 628 XmlTextWriter, 628

stream-based XML processing, 628–634 reading XML files, 632–635 writing XML files, 628–632

StreamReader class, 549 streams, 546

binary files, 549–550 compressing data, 557–558 converting serializable object into bytes,

559 reading and writing files with, 546–558 serialization, 558 text files, 547–549 uploading files, 550–552

StreamWriter class, 547, 548 strict concurrency checking

updating records, SqlDataSource, 380–381 strict doctype, XHTML, 83, 84 Strict value

mode attribute, xhtmlConformance element, 85

strict XHTML rendering web forms changes in ASP.NET 4, 71

Strikeout property, FontInfo, 143 String class

Replace method, 113 string concatenation, SQL statements, 838 String serialization option, web.config, 1006 String type, AJAX, 1294 StringBuilder class, 288, 289

Page 89: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1603

StringCollection class Contains method, 1100

StringDictionary class, 1060 StringLengthAttribute class, MVC, 1407 strings

AddString method, 1157 connection strings, 278–281 DrawString method, 1154

style attributes creating custom controls, 1111 HTML server controls, 136 web controls, 140

Style collection, 130 style properties

GridView control, 408 manipulating HTML, JavaScript, 1196 web control supporting, 1115–1119

Style property, HtmlControl, 127 style rules

creating dynamically, 102 Silverlight entry page, 1467

Style Sheet toolbar, Visual Studio, 709 styles

applying to node levels, 784–785 applying to node types, 784 Calendar control, 176 configuring with Visual Studio, 411–412 CSS, 705–709 GridView control, 408–412 Login control, 902 Menu control, 789–790 SiteMapPath control, 757 TreeView control, 782–785 Wizard control, 748

StyleSheet property, HtmlHead, 102 StyleSheet property, Page, 719 stylesheets

anonymous access used by login page, 901 CSS, 705–709 transforming XML content, 659

styleSheetTheme attribute applying themes through configuration file,

718, 719 handling theme conflicts, 714

subdirectories CreateSubdirectory method, 531 determining total size information, 533

submit type, input tag, 129 SubmitButton ID

PasswordRecovery template, 916 Substitution control, 173

post-cache substitution, 482, 483, 484 Subtitle property, IWebPart, 1335

SuccessTemplate property, 914, 915, 916, 917 SupportsEventValidation attribute, 1242 svc files, 36 SwitchViewByIDCommandName field,

MultiView, 741 SwitchViewByIndexCommandName field, 741 symmetric encryption, 846 symmetric encryption algorithms, 1037–1038,

1043–1050 advantage/disadvantage of, 1037 brute-force attacks, 1037 key exchange, 1037 long-term key management, 1037

symmetric key, 846, 847 SymmetricAlgorithm class, 1035

GenerateKey method, 1045 SymmetricEncryptionUtility class, 1048–1050

AlgorithmName property, 1044 encrypting sensitive data, 1055 methods, 1045 ProtectKey property, 1043

SyncChanges method custom web part editor, 1352

Sys.Services property, AJAX, 1264 System value, FileAttributes, 535 System.Configuration.dll assembly, 43 System.Core.dll assembly, 43, 61, 1481 System.Data namespace, 277 System.Data.Common namespace, 277 System.Data.DataSetExtensions.dll assembly, 43 System.Data.dll assembly, 43 System.Data.Odbc namespace, 278 System.Data.OleDb namespace, 277 System.Data.OracleClient namespace, 277 System.Data.SqlClient namespace, 277 System.Data.SqlTypes namespace, 278 System.Diagnostics trace features, 119 System.dll assembly, 43, 1481 System.Drawing namespace, 1149 System.Drawing.dll assembly, 43 System.Drawing.Drawing2D namespace, 1149 System.Drawing.Imaging namespace, 1149 System.EnterpriseServices.dll assembly, 43 System.EventArgs object, 149 System.IO namespace, 527 System.Net.dll assembly, 1481 system.web section, web.config, 191, 192, 195–196

denying access to anonymous users, 951 elements, 195–196 IIS 7.x and forms authentication, 876

System.Web.ApplicationServices.dll assembly, 43 System.Web.dll assembly, 43 System.Web.DynamicData.dll assembly, 43

Page 90: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1604

System.Web.Entity.dll assembly, 43 system.web.extensions section, web.config,

1264 System.Web.Extensions.dll assembly, 43, 61 System.Web.Services.dll assembly, 43 System.Web.UI.Control class

hierarchy of server controls, 124 System.Web.UI.HtmlControls namespace, 126 System.Web.UI.WebControls namespace, 137 System.Web.UI.WebControls.ListControl class,

151 system.webServer element, web.config, 192,

196 registering HTTP handlers, 218, 219

System.Windows.Browser.dll assembly, 1481 System.Windows.dll assembly, 1481 System.Xml.dll assembly, 43, 1481 System.Xml.Linq.dll assembly, 43 SystemOperator role, WindowsBuiltInRole, 953

■T T navigation property

one-to-one relationships, 587 TabContainer control, AJAX, 1313 TabControl class, Silverlight, 1473, 1474 TabIndex property, WebControl, 138 Table control, 139 Table property, DynamicDataRoute, 1435,

1437, 1439 table relationships

DataAdapter and DataSet, 337–339 table tag

HtmlTable, 129 Table control, 139

TableCell control, 139 TableDirect value, CommandType, 285 TableRow control, 139 tables

binding chart to, 1179–1181 creating profile tables, 999–1000 creating server controls, 131 DataTable class, 333 designing web pages with HTML tables, 31 master pages with CSS layout and, 727–730 multiple tables and relationships, 337–339 relationships between profile tables, 1000 route discovery by, 1439 used for profiles, 999–1000

Tables collection, DataSet, 333 Tables property

DataSet, 332 HttpBrowserCapabilities, 1124

tabs Add Tab option, 38 Delete Tab option, 38 metacharacter matching, 164 Rename Tab option, 38 Toolbox tabs, 37

Tabs settings, HTML, 33 Tag Specific Options button, Visual Studio, 33 TagName attribute, Register directive, 685, 1112 tagName property

manipulating HTML elements, 1196 TagName property, HtmlControl, 127 TagPrefix attribute, Register directive, 685, 1112 tags

adding/removing metadata tags, 102 connecting control tags to page variables,

56–57 converting page to user control, 686 HtmlGenericControl class, 129 InnerHtml property, 127 InnerText property, 127 static HTML tags, 31 well-formed XML, 624 XHTML compliance, 82

target attribute XHTML compliance, 82

Target Location field, Publish Web dialog, 816 Target property

AdRotator, 174 MenuItem, 787 Storyboard, 1501 TreeNode, 778

TargetControlID property, 1307 targetFramework attribute, 195 TargetName property, Silverlight, 1495, 1496,

1497 TargetProperty property, Silverlight, 1495, 1496,

1501 Task List window, Visual Studio, 35, 38–40 tasks

web part tasks, 1330–1338 td tag

HtmlTable control, 129 TableCell control, 139

TDS (Tabular Data Stream), 276 team collaboration

projectless development, 59 Team Explorer window, Visual Studio, 35 templated column

editing with GridView, 437 TemplateField column

GridView template, 403, 430, 611, 612, 613 ListView template, 445

Page 91: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1605

templates ChangePassword, 917 CreateUserWizard, 919 creating projectless website, 25–26 DetailsView, 451 Dynamic Data websites, 1422–1432

creating page template, 1423–1424 customizing field templates, 1429–1432 editing default templates, 1422–1423 entity templates, 1424–1429

FormView, 451, 454 GridView, 379, 430–444 ListView, 444–445 Login control, 905–907 LoginView, 911 Menu control, 791–793 PasswordRecovery, 914–917 SiteMapPath, 757 skins, 716 Visual Studio templates, 86 Wizard control, 749–750

LayoutTemplate property, 751 XML data binding with, 669 XPath data binding expressions, 669

Temporary value, FileAttributes, 535 test-driven development

ASP.NET MVC, 18 testing data access component, 328–330 text

CreateText method, 529, 532 DataTextField property, 152 DataTextFormatString property, 152 GridView styles, 409 InnerText property, 127 OpenText method, 529, 532 ReadAllText method, 529 WriteAllText method, 529

Text attribute, 1119 text encoding, 548 text files

streams, 547, 549 Text property

BaseValidator, 161 custom server controls in Visual Studio, 1118 Label, 95, 353 LiteralControl, 99 MenuItem, 787, 791 postbacks and change events, 1131 TreeNode, 778 validating controls, 159 web controls, 140

view state, 1127, 1129 text type, input tag, 129

Text value, CommandType, 285, 286 Text.ascx, Dynamic Data, 1450 Text_Edit field template, Dynamic Data, 1431 Text_Edit.ascx template, Dynamic Data, 1430 TextAlign property, list controls, 153 textarea tag, HtmlTextArea, 129 TextAreaFor method, MVC, 1396 TextBlock class, Silverlight, 1472 TextBlock element, Silverlight, 1474 TextBox class, Silverlight, 1472 TextBox control, 139

AutoCompleteExtender control, 1305 MaxLength property, 296 postbacks and change events, 1131 TextChanged event, 1138

TextBoxFor method, MVC, 1396, 1400 TextBoxStyle property, 902 TextBoxWatermarkExtender control, AJAX,

1312 TextChanged event

handling web control events, 147, 1011 TextBox control, 1138 TitledTextBox, 1138

TextRenderingHint property, 1152 TextureBrush class, 1160 TGT (ticket-granting ticket)

Kerberos authentication, 942 th tag, HtmlTableCell control, 129 Thawte, 845 Theme attribute, Page directive

applying themes, 712 through configuration file, 719

handling theme conflicts, 714 Theme property, Page, 719 Themeable attribute, 716 themes, 705, 710–721

adding, 712 App_Themes directory, 183, 711 applying, 712–713

dynamically, 719–721 through configuration file, 718–719

ASP.NET 2.0, 13 EnableTheming property, 715 folders, 711 global themes, 711 handling theme conflicts, 714–715 local themes, 711 precedence, 714 reusing images, 717 skins, 711–712

multiple skins for same control, 715–716 skins with templates and images, 716–717 using CSS in, 718

Page 92: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1606

Thread class, 515 ThreadPool class

QueueUserWorkItem method, 515 threads

asynchronous pages, 512, 513 multithreading, 9

thread-safety, data caching, 491 threat modeling, 838 thumbnails

downloading images asynchronously, 1205 passing information to dynamic images,

1164, 1165, 1166 placeholders as temporary images, 1207

Tick event, Timer control, 1280 Ticket property, FormsIdentity, 859 tickets

forms authentication, 853 Kerberos authentication, 942

time CreationTime property, 531 GetCreationTime method, 529 GetLastAccessTime method, 529 GetLastWriteTime method, 529 LastAccessTime property, 531 LastWriteTime property, 531

time and date format strings, 408 time-based animation, Silverlight, 1494 TimeDisplay control, 696

adding properties, 688, 689 dynamically loading user controls, 698 handling events, 686 partial caching, 702 portal frameworks, 699

timeout attribute forms tag, web.config, 861

persistent cookies, 872 sessionState element, 265

Timeout property, HttpSessionState, 258 timeouts

multiple asynchronous tasks and, 523–525 Timer control, AJAX, 1280–1281 timestamp-based concurrency, 327, 328 timestamps

concurrency conflicts, GridView, 470 strict concurrency checking, 381

timing Trace object, 114

title HtmlTitle class, 130

Title attribute, Page directive, 725 Title property

HtmlHead, 102 IWebPart, 1336, 1337

WebPart, 1332, 1333 WizardStep, 743

TitledTextBox control, 1136, 1137, 1138 TitleIconImageUrl property, 1336, 1337 TitleImageUrl property, 1338 @TitleOfCourtesy parameter, 441 TitlesOfCourtesy property, 439 TitleText property, Login, 903 TitleTextStyle property, 902 TitleUrl property

IWebPart, 1336, 1337 WebPart, 1333, 1350

To property, Animation, Silverlight, 1498 ToBase64String method, 1048, 1061 TODO comment/token tag

Task List, Visual Studio, 35, 39, 40 ToggleButtonExtender control, AJAX, 1312 Token property, WindowsIdentity, 954, 960 token tags

HACK, 40 TODO, 39, 40 UNDONE, 40

tokens authentication, 841 forms authentication, 853 programmatic impersonation, 960

getting tokens, 960–961 toolbar attribute, pop-ups, 1216 Toolbox window, Visual Studio, 35, 37–38

adding reference to controls, 1114 custom server controls, 1113–1115 Toolbox tabs for ASP.NET project, 37

tools advantages of XML, 623

ToolTip property MenuItem, 787 TreeNode, 778 WebControl, 138

Top property, Canvas animation example, 1502 dragging circles, Silverlight, 1487 positioning elements, Silverlight, 1482

ToString method, EncryptedQueryString, 1060, 1061, 1062

TotalFreeSpace property, 534 TotalSize property, DriveInfo, 534 ToTraceString method, ObjectQuery, 589, 590 ToXmlString method, 1051, 1052 tr tag

HtmlTableRow control, 129 TableRow control, 139

Page 93: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1607

Trace attribute, Page directive, 115 assessing view state, 241 master pages, 726

trace element, web.config, 119, 196 application-level tracing, 118

Trace Information section, 114 trace log sections, 114 Trace object, 105, 114–120

IsEnabled property, 115 TraceFinished event, 117 TraceMode property, 115 Warn method, 116 Write method, 116

trace requests, View Details link, 118 TraceContext class, 114 TraceFinished event, 117 TraceHandler class, 218 traceMode attribute

Page directive, 115 web.config file, 118, 119

TraceMode property, 115 tracepoints, Visual Studio, 68 tracing

application-level tracing, 118–119 enabling, 115 event handler receiving trace messages, 117 System.Diagnostics features, 119 trace element options, web.config, 119 viewing information, 118 Visual Studio debugging, 115 Web Development Helper tool, 120

trademarks LegalTrademarks property, 538

@@TRANCOUNT variable, 306 Transaction class, 306

BeginTransaction method, 306, 307 Commit method, 306, 307 Rollback method, 306, 310 Save method, 310

Transaction property, Command, 307 transactions, 302–310

ACID properties, 302 application scalability, 303 ASP.NET web applications, 303–308 BeginTransaction method, 306, 307 client-initiated, 303, 306–308 COM+ transactions, 303 distributed transactions, 306 DTC, 306 errors in, 305, 306 exclusive locks, 308 IDbTransaction interface, 306 isolation levels, 308–309

locks, 308 OleDbTransaction class, 306 OracleTransaction class, 306 pessimistic concurrency, 328 promotable transactions, 304 RAISERROR statement, 306 savepoints, setting, 310 shared locks, 308 SqlTransaction class, 306 stored procedure transactions, 303, 304–306 try/catch structure, 305

Transfer method HttpResponse, 109 HttpServerUtility, 111, 250

applying themes dynamically, 719 moving between pages, 110, 111

Server object, 745 TransferRequest method, HttpResponse, 109 Transform attribute, web.config, 807

Insert value, 808 Remove value, 809 Replace value, 809

transform classes, 1503–1504 Transform method

GraphicsPath, 1157 XslCompiledTransform, 661

Transform property, XmlDataSource, 674 TransformFile property, 674 TransformGroup class, Silverlight, 1504, 1505 transforming web.config file

web deployment approach, 806–810 inserting elements, 808 removing elements, 809–810 replacing sections, 809 setting attributes, 807–808

transforming XML content, 659–665 LINQ to XML, 663–665 Xml control, 662–663 XslCompiledTransform, 661–662

TransformPassword method, XmlMembershipProvider

implementing provider classes, 1087 using salted password hashes, 1091, 1092 validating users on login, 1090, 1091

transforms, Silverlight animation, 1503–1507 MatrixTransform class, 1504 RenderTransform property, 1504, 1505 RenderTransformOrigin property, 1504 RotateTransform class, 1503, 1504, 1505 ScaleTransform class, 1503 SkewTransform class, 1503 TransformGroup class, 1504, 1505 TranslateTransform class, 1503

Page 94: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1608

TransformSource property, Xml, 662 transitional doctype, XHTML, 83 Transitional value, 85 Translate method, 955 TranslateTransform class, 1503 TreeNode class, 777–779

Checked property, 782 Depth property, 781 Expanded property, 777 NavigateUrl property, 777, 778 navigation mode, 777 PopulateOnDemand property, 780 populating nodes on demand, 780–782 properties, 778 SelectedNodeChanged event, 777, 779 selection mode, 777 ShowCheckBox property, 782

TreeNode tags, 777 TreeNodeBinding elements, 673 TreeNodeDataBound event, 763 TreeNodePopulate event, 780, 781 TreeNodeStyle class, 782 TreeView control class, 776–786

adding TreeNode programmatically, 777 AutoGenerateDataBindings property, 672 binding to site map, 754 CollapseImageUrl property, 782, 785 ExpandDepth property, 777 ExpandImageUrl property, 782, 785 filling in on-demand nodes, 780 filling with query results, 778 hierarchical binding, 672–674 HoverNodeStyle property, 784 images, 785–786 ImageSet property, 786 LeafNodeStyle property, 784 LevelStyles collection, 784 MaxDataBindDepth property, 777 Menu control compared, 789 NodeIndent property, 782 NodeStyle property, 784 NoExpandImageUrl property, 782, 785 ParentNodeStyle property, 784 PopulateNodesFromClient property, 780 populating nodes on demand, 780–782 RootNodeStyle property, 784 SelectedNodeStyle property, 784 ShowCheckBoxes property, 782 ShowExpandCollapse property, 782 styles, 782–785

applying to node levels, 784–785 applying to node types, 784

TreeNodePopulate event, 780, 781

TreeViewImageSet enumeration, 786 TreeViewNode class

ImageUrl property, 785 TReference navigation property, 587 TriangleHotSpot class, 1149 triggering postbacks, 1134–1136 triggers

UpdatePanel control, 1278–1279 Triple DES (3DES)

machineKey element, 190, 191 TripleDES abstract algorithm class, 1037 TripleDESCryptoServiceProvider class, 1037 Truncate value, FileMode, 546 Trusted Root Certification Authorities, 846,

1034 try/catch structure, transactions, 305 type attribute

httpHandlers element, 221 properties element, web.config, 1003 script block, JavaScript, 1193

type converter, 689 Type property

CompareValidator, 163 HtmlInputControl, 128 HttpBrowserCapabilities, 1123 RangeValidator, 162

type safety, 8 typed DataSets

creating custom web parts, 1340–1341 LINQ, 580

TypeName property, ObjectDataSource, 387 types

base types, JavaScript, 1294–1295 .NET framework, 3

■U -U switch, aspnet_regsql.exe, 889, 999 UIHint attribute, 1450 Underline property, FontInfo, 143 Underused value, CacheItemRemovedReason,

504 Undo method,

WindowsImpersonationContext, 960, 961

UNDONE token tag, 40 unhandled exceptions

handling errors, UpdatePanel, 1275 Unicode

text encoding, 548 Uniform Resource Locator see URL Union method, PrincipalPermission, 974 UnionIterator(Of T) class, LINQ, 565

Page 95: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1609

UniqueID property, web controls, 1132, 1135 Unit structure, web controls, 141 UnitType enumeration, 141 Universally Unique ID (UUID), 955 Unload event, Application, 1298 Unload event, Page, 94, 95 UnLock method, application state, 267 UnlockUser method, 931 UnprotectSection method, 209 Update command

concurrency strategies, 327, 328 editing FormView, 456

update database operations, 599 Update link

updating records, SqlDataSource, 379 Update method

DataAdapter, 334 SqlDataSource, 379

UPDATE statement detecting concurrency conflicts, 469, 470

UpdateCommand property DataAdapter, 334 SqlDataSource, 370, 379, 382, 441

UpdateCommandType property, 370 Updated event, 369, 378 UpdateEmployee method, 325, 327, 328 UpdateEmployee stored procedures, 320 UpdateMethod property, 387, 392 UpdateMode property, 1276, 1278, 1280 UpdateModel method, MVC, 1384 UpdatePanel control, AJAX, 1245, 1252

conditional updates, 1276–1277 Controls collection, 1273 GridView control, 1279 handling errors, 1275–1276 interrupted updates, 1277–1278 managing browser history, 1284 optimizing, 1279–1280 PageRequestManager class, 1299 partial rendering with, 1273–1280 purpose of, 1273 RenderMode property, 1274 Silverlight using, 1469 Timer triggering asynchronous postback,

1280, 1281 triggers, 1278–1279 UpdateMode property, 1276 UpdateProgress control, 1281, 1282, 1283 value of asynchronous login method, 1266

UpdatePanelAnimationExtender control, AJAX, 1274, 1312

UpdateParameters collection, SqlDataSource, 379, 382

UpdateProgress control, AJAX, 1281–1284 AssociatedUpdatePanelID property, 1283 cancel button, 1283–1284 interrupted updates, UpdatePanel, 1278 ProgressTemplate property, 1283

UpdateProgressMeter function, 1200, 1201 UpdateRequestCache event, 185 updates

application updates, 181 conditional updates, 1276–1277 interrupted updates, 1277–1278

UpdateUser method, 928, 931 updateUserProcedure attribute, 1020 Updating event

ObjectDataSource, 394 page life cycle with data binding, 369 SqlDataSource, 377, 383

updating records ObjectDataSource, 392–393

updating with data object, 393–396 SqlDataSource, 379–380

strict concurrency checking, 380–381 updating with stored procedures, 382–383

uploading files streams, 550–552

URIs (universal resource identifiers) XML namespaces, 625

URL (Uniform Resource Locator) storing state in, 1287–1288

URL authorization, 965–972 authorization rules, 966–972 controlling directory access, 969–970 controlling file access, 970 controlling role access, 970–972 controlling user access, 967–969

URL authorization, IIS 7.x, 989 native and managed modules, 990

URL encoding, 112–113, 247 URL mapping, 774, 774–775 Url property, HttpRequest, 107 Url property, PopUp, 1217 URL routing, 774, 775–776 UrlAuthorization module, 991, 992, 993 UrlAuthorizationModule class, 965, 968, 993

authorization and roles in IIS 7.x, 988, 990 UrlDecode method, 111, 247 UrlEncode method, 111, 113, 1060 urlMappings element, web.config, 774 UrlReferrer property, 107 URLs

changing URL format, routes, 1435 configuring web service URL, 1511–1512 defaultUrl attribute, 862

Page 96: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1610

DynamicDataRoute class, 1433 encrypting query string, 1059–1064 friendly URLs, 774 tracking session ID, 257 wrapping query string, 1060–1063

URNs (uniform resource names), 625 UseCookies value

cookieless attribute, web.config, 870 HttpCookieMode enum, 264

used space, DriveInfo class, 533 UseDeviceProfile value

cookieless attribute, web.config, 861, 870 HttpCookieMode enum, 264

user code initialization, 92 user concurrency, XmlDocument, 636 user control files, ASP.NET, 36 user controls, 683–686

adding code to, 686–697 adding events, 693–696 adding properties, 687–689 ascx files, 683, 684, 685 code-behind files, 683 Control directive, 684 converting page to, 686 creating, 684–686 dynamically loading, 697–701 exposing inner web control, 696–697 handling events, 686–687 implementing web parts through, 1339 partial caching, 701–704 portal frameworks, 698–701 sharing cached controls, 704 standardizing website layout, 721 using custom objects, 690–692 VaryByControl attribute, 702–704 web pages compared, 684 web parts, 1364–1367

user information, forms authentication, 855, 856

user input, secure coding, 838 user instance connections, 280–281

SQL Server Express, 280 user instance databases

attaching, 280 Visual Studio support for, 281

User Instances value, connection string, 280 user interface

dynamic user interface, 74–75 elements, HTML server controls, 136

User object, 105, 114 accessing roles programmatically, 986 accessing Windows-specific functionality, 952 IsInRole method, 986

user profiles see profiles User property, 951, 952, 954 User role, WindowsBuiltInRole, 953 user tasks, Task List window, 39 UserAgent property, 107, 1123 user-agent string

browser type detection, 1122 UserControl class, 684

layout containers, Silverlight, 1481 UserControl element, Silverlight, 1488 UserControlHost web part, 1367 UserControlHostPart class, 1366, 1367 UserHostAddress property, 107 UserHostName property, 107 UserIsOnlineTimeWindow property, 1095 UserLanguages property, 107 UserLookupError event, 914 UserName ID

CreateUserWizard template, 920 Login template, 907 PasswordRecovery template, 916

UserName property, Login, 903 UserNameLabelText property, 903 UsernameRequiredErrorMessage property, 903 UserNameTemplate property, 914, 915, 916 users

accessing Windows user information, 951–957 IdentityReference class, 955–957 WindowsIdentity class, 953–955 WindowsPrincipal class, 952–953

adding to roles, 981 anonymous user log in, 1016–1017 aspnet_Users table, 1000 authenticating, membership API, 884, 897 configuring membership in IIS 7.x, 925 controlling access, 967–969 CreateUserWizard control, 918–923 creating and adding to stores, 1084–1088 creating, membership API, 884, 896–897,

931–932 deleting, membership API, 932 denying access to anonymous users, 950–951

forms authentication, 863–864 losing session state, 257 membership API, 881 multiple users accessing files, 552–557 profiles, 995–998

anonymous profiles, 1015–1017 retrieving from membership store, 928–930 updating in membership store, 931 validating on login, 1088–1091 validating, membership API, 932

Users property, 1075

Page 97: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1611

UserStore class CreateUser method, 1084, 1088 implementing custom store, 1072, 1073,

1074, 1076, 1078 designing custom providers, 1070 GetUser method, 1093 GetUserByName method, 1093 implementing provider classes, 1082, 1084,

1088, 1093 UseUri value

cookieless attribute, web.config, 870 HttpCookieMode enum, 264

using statement importing namespace with, 45 releasing connections promptly, 282

UtcLastModified property, 508 UTF-16 Unicode encoding, 548 UTF-7 Unicode encoding, 548 UTF-8 encoding class, 1048 UTF-8 Unicode encoding, 548

■V Validate method

BaseValidator, 161, 169 Extensions class, 658 Page class, 171, 867 using validators programmatically, 169

ValidateEmptyText property, 168 ValidatePassword method, 1084 validateRequest attribute, web.config, 1212 ValidateRequest property, Page directive, 1211 ValidateUser method

Membership class, 899, 900, 932, 1088 XmlMembershipProvider, 1095

ValidateUserInternal method, 1089, 1091, 1093 ValidateUserName method, 1084 validating data, MVC, 1403–1408

adding validation annotations, 1406–1408 validating XML content, 655–659

XDocument, 658–659 XmlDocument, 656–658

validation ASP.NET web forms, 92 CausesValidation property, 159 cross-page posting, 252–253 customizing, extensibility methods,

1454–1456 data fields, Dynamic Data, 1451–1455

requiring field value, 1451–1452 specifying valid range, 1452

disabling event validation, Ajax, 1242–1243 editing with GridView template, 437

EntityDataSource control, 613–614 event validation, 298 profiles, 998 request validation, 1210–1215 validating users on login, 1088–1091 XHTML compliance, 86–87

validation controls, 124, 157–172 avoiding SQL injection attacks, 296 BaseValidator class, 160–162 CompareValidator, 158, 163 creating custom login page, 864 cross-page posting and validation, 252 CustomValidator, 158, 167–168 RangeValidator, 158, 162 RegularExpressionValidator, 158, 163–166 RequiredFieldValidator, 158, 162 SQL injection attacks, 866 using validators programmatically, 169–170 validation groups, 170–172 validation process, 159–160 ValidationSummary, 158, 168 Wizard control, 751

validation groups, 170–172 validation helper methods, MVC, 1406 Validation settings, HTML, 33 Validation Toolbox tab, 37 ValidationAttribute class, MVC, 1407 ValidationEventHandler event, 657 ValidationExpression property, 163, 866 validationFailureIndex argument, 1214 ValidationGroup property, 161, 170 validationKey attribute, machineKey, 190 ValidationMessageFor method, MVC, 1405 ValidationProperty attribute, 158 ValidationSummary control, 158, 168 ValidationSummary method, MVC, 1405 validator controls see validation controls ValidatorCalloutExtender control, AJAX, 1312 Validators collection, Page, 169 ValidatorTextStyle property, Login, 902 Value property

CustomValidator, 167 DictionaryStructure, 360 HtmlInputControl, 128 HtmlInputText, 130 IdentityReference, 956 manipulating HTML elements, 1196 MenuItem, 787 repeated-value binding, 360 single-value binding, 353 TreeNode, 778 validating list controls, 158 XElement, 645

Page 98: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1612

value-of command transforming XML content, 660

ValueToCompare property, 163 var keyword

OOP in JavaScript, 1290 variable highlighting, Visual Studio, 50 variable tracking windows

debugging, Visual Studio, 67–68 variables

automatic variables, 320 shared application variables, 268–270

VaryByControl attribute, 702–704 VaryByCustom attribute, 480 VaryByHeader attribute, 480 VaryByParam attribute, 477, 478, 479, 485

partial caching, 702 VaryByParameter property, 702 VB see Visual Basic vb files, 36, 53, 56, 59, 1256 vbproj files, 22, 59 vbproj.user files, 59 VBScript, 1190 VBScript property, 1124 verb attribute, httpHandlers, 221 verbs

custom verbs and web parts, 1363–1364 verbs attribute, URL authorization, 966 Verbs property, WebPart, 1333, 1363 VerifyingAnswer event, 914 VerifyingUser event, 914 VeriSign, 845, 847, 1034 Version property, HttpBrowserCapabilities,

1124 versions, 537 VerticalPadding property, 782 View Code button, Visual Studio, 41 View control, 173 view controls

MultiView, 738–742 Wizard, 742–751

view data, adding, MVC, 1396–1397 View Designer button, Visual Studio, 41 View Details link, trace requests, 118 View method, MVC

action results, 1409, 1410, 1412 adding to model, 1401 creating controller, 1382

View Source command, web browser, 80 view state, 72, 77–81, 236–245, 1127

assessing, 241–242 binding DataSet to control, 337 control property, 78 controls, 1127–1129

cross-page posting, 247–253 decoding, 80, 81 enableViewState attribute, 243 EnableViewState property, 125, 243, 244,

1129 enableViewStateMac attribute, 244 EnableViewStateMAC property, 244 encrypting, 245 hash codes, 244, 245 implementing IWebPart, 1337 limitations of, 245 Load event, 92 LoadViewState method, 1129 page property, 78 placing web method in page, 1263 query string, 245–247 RegisterRequiresViewStateEncryption

method, 245 SaveViewState method, 1129 saving and restoring text using, 238 secure coding, 839 security, 244–245 selectively disabling, 242–244 Serializable attribute, 239 state management options compared, 234 storing objects in, 239–241 transferring information between pages,

245–253 turning on/off, 243 UpdatePanel, 1279

view state chunking, 81 View tag, MultiView, 738 View window, Visual Studio, 34 ViewChanged event, LoginView, 912 ViewChanging event, LoginView, 912 ViewData collection, MVC

adding to model, 1401, 1402 adding view data, 1397

ViewName property, 1433, 1436 ViewResult class, MVC, 1409, 1410 views

DataView class, 342–350 DefaultView property, 343 designing web pages with Visual Studio, 28 MultiView control, 738–742 pages with multiple views, 738–751 TreeView control, 776–786 Wizard control, 742–751

Views folder, MVC, 1378 views, MVC, 18, 1377

adding view data, 1396–1397 creating index view, 1380–1381 creating, 1382–1385

Page 99: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1613

customizing, 1393–1397 modifying, 1394–1396

ViewState collection, 236, 1127 ViewState property, 236, 1127, 1128 ViewStateEncryptionMode property, 245 ViewStateMode property, 243, 244 virtual directories, 179, 821, 822–825 VirtualFile class, 823 VirtualPathProvider class, 822–825

AppInitialize method, 823, 824 DirectoryExists method, 825 FileExists method, 823, 824 GetCacheDependency method, 825 GetFile method, 823, 824 GetFileHash method, 825

Visible property Control class, 125 GridView, 405 Panel, 738

VisibleMonthChanged event, 175 VisibleWhenLoggedIn property, 904 Visual Basic

anonymous types feature, 568 lambda expressions, 574, 576 Lock statement, 269

Visual Studio, 21–22 Add Reference dialog box, 44 adding assembly references, 42–45 adding themes, 712 adding web reference, 1509 Apply Styles window, 35, 708, 709 applying stylesheet rules, 709 ASP.NET 4, 17 ASP.NET code model, 52–58 ASP.NET templates, 25, 26 Attach to Process dialog box, 1103 changing formatting options, 22 Choose Location dialog box, 26 Class View window, 35 code editor, 41–52 code-behind model, 53, 54, 55

connecting events to handlers, 57–58 connecting files to pages, 55–56 connecting tags to variables, 56–57

code-behind view, 41 Command and Parameter Editor dialog, 376 Configure Data Source Wizard, 396 configuring GridView styles with, 411–412 Conversion Wizard, 62 Copy Web tab, 817, 818 creating master pages, 722–724 creating user control, 684, 685

creating web part pages, 1319 creating web service, AJAX, 1256 Crystal Reports Web Site template, 26 CSS Outline window, 707 CSS Properties window, 709, 710 custom controls, Toolbox support for,

1113–1115 custom server controls, 1118 data source controls, 368 Debug toolbar, 65 debugging, 22, 63–68

breakpoints, 68 variable tracking windows, 67–68

debugging JavaScript, 1196, 1197 default doctype, 86 default editor for files, 37 defining personal formatting rules, 32 designing web pages, 28–34

absolute positioning, 29 HTML tables, 31 smart tags, 30 static HTML tags, 31 structuring HTML markup, 32–34

design-time support, 1114 Document window, 35, 37 draggable document windows, 52 Dynamic Data Entities Web Site template,

26 editing GridView templates in, 433 Empty Web Site template, 25 Error List window, 35, 38–40 error underlining, 48 filtering, 49–50 Format HTML on Paste option, 33 Format Selection command, 33 HTML Formatting settings, 33 HTML General settings, 33 HTML Miscellaneous settings, 33 HTML Tabs settings, 33 HTML Validation settings, 33 HTTP modules, 228 ImageMap designer, 1144 inline code model, 53, 55 integrated web server, 21 IntelliSense, 47 launching custom HTTP handler, 221 Macro Explorer window, 35 Manage Styles window, 35, 709 member list, 46–47 migrating websites from previous versions,

61–63 models for coding web pages, 52

Page 100: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1614

Modify Style dialog box, 31 modifying stylesheet rules, 710 multilanguage development, 22 multitargeting, 24 MultiView control, 739 naming syntax for source code file, 56 Navigate To window, 51 navigation tools, 50–51 New Project dialog box, 60 New Web Site dialog box, 23 Option Infer setting, 568 Options dialog box, 32, 33 outlining, 45–46 PageFlow example, 94 positioning windows, 35 project management events, 37 project-based development, 22, 59–60

creating web projects, 60–61 projectless development, 23, 1113

creating projectless website, 23–27 Properties window, 28, 29, 35 Publish dialog box, 811 Publish Web dialog box, 812 Reports Web Site template, 26 Search terms box, 51 Server Explorer window, 35, 40 Solution Explorer window, 35, 36–37 solution files, 24 Style Sheet toolbar, 709 support for user instance databases, 281 Tag Specific Options button, 33 Task List window, 35, 38–40 Team Explorer window, 35 templates, 86 Toolbox window, 35, 37–38 variable highlighting, 50 vbproj project file, 22 View window, 34 WCF Service template, 26 Web Development Helper tool, 68–70 web projects, 58–63 Web Site template, 25 websites and web projects, 22 XHTML validation, 86, 87 XML visualizer, 647

Visual Studio 2010, 21 creating MVC application, 1378 draggable document windows, 52 filtering, 49–50 improvements, 48–52 IntelliSense, 49–50 Navigate To window, 51

navigation tools, 50–51 reference assemblies, 24 Silverlight 4 Tools, 1458 variable highlighting, 50

VolumeLabel property, 534

■W W3C (World Wide Web Consortium)

XHTML validation, 87 XML, 622

wait indicator UpdateProgress control, 1282

WaitForMessage method, 510 Warn method, Trace, 116 Warp method, GraphicsPath, 1157 WAT (Website Administration Tool), 202–204

configuring access rules with, 982 creating users, 896 debugging using, 1103–1104 encrypting sensitive data, 1055 setting up security in, 884, 885 using custom provider classes, 1102

Watch window, Visual Studio, 67–68 WCF (Windows Communication Foundation),

14 WCF Service template, 26 web services, 36, 180, 1255

Silverlight, 1460, 1508 Web Application, ASP.NET, 60 web applications

DataSet and, 331–332 security, 837, 840–844

web controls, 123, 136–150 AdRotator, 173–174 ASP.NET, 10 BaseValidator, 160–162 BulletedList, 151, 155–157 Button, 139 Calendar, 173, 175–177 CheckBox, 139 CheckBoxList, 151, 152 classes, 138–139 Color property, 142 colors, 142 CompareValidator, 158, 163 composite controls, 1136–1139 control declaration, 140 creating label for specific data, 1139 CustomValidator, 158, 167–168 DefaultButton property, 146 derived controls, 1139–1142

Page 101: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1615

DropDownList, 151 enumerations, 142 events, 139 exposing inner, user controls, 696–697 extending, 1136–1142 FileUpload, 139 Focus method, 144–146 Font property, 143–144 handling web control events, 147–150 HiddenField, 139 HTML server controls compared, 140 HyperLink, 139 Image, 139 ImageButton, 139 ImageMap, 139 inheritance hierarchy, 137 Label, 139 LinkButton, 139 list controls, 150–157 ListBox, 151 methods, 139 MultiView, 173 Panel, 139 properties, 138–139 RadioButton, 139 RadioButtonList, 151, 152 RangeValidator, 158, 162 RegularExpressionValidator, 158, 163–166 RequiredFieldValidator, 158, 162 rich controls, 172–177 ScrollBars property, 146–147 server-side form tag, 140 special restrictions, 140 style attributes, 140 Substitution, 173 supporting style properties, 1115–1119 Table, 139 TableCell, 139 TableRow, 139 TextBox, 139 Unit structure, 141 ValidationSummary, 158, 168 View, 173 ViewState collection, 1127 WebControl, 137 Wizard, 173 Xml control, 173

web deploy approach, 799, 804–813 creating website, 805 deploying website, 811–813 preparing IIS, 805 publishing databases, 810–811

transforming web.config, 806–810 inserting elements, 808 removing elements, 809–810 replacing sections, 809 setting attributes, 807–808

Web Deployment model transforming web.config, 806

Web Deployment Tool option, WebPI, 805 Web Development Helper tool, 68–70

decoding view state information, 81 tracing with, 120

web forms, 12, 71, 180 see also web pages accessing HTTP context, 120–121 Application object, 106 application-level tracing, 118–119 ASP.NET event model, 75 automatic postbacks, 76–77 Cache object, 106 changes in ASP.NET 4, 71 client-side control IDs, 88–90 core assemblies for pages, 43 dynamic user interface, 74–75 HTML forms, 72–74 moving between pages, 110–111 MVC compared, 1377 Page class, 105–121

properties, 105 page processing, 72–90 PageFlow example, 94–96 pages as control containers, 97–105

dynamic control creation, 103–105 page header, 101–103 showing control tree, 97–101

processing stages, 90–96 automatic data binding, 93 cleanup, 94 event handling, 93 page framework initialization, 91 user code initialization, 92 validation, 92

Request object, 106–107 Response object, 108–111 Server object, 111–113 Session object, 106 Trace object, 114–120 User object, 114 view state, 77–81 XHTML compliance, 82–87

configuring XHTML rendering, 84–85 default doctype, Visual Studio, 86 document type definitions, 83–84

XHTML validation, 86–87

Page 102: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1616

web methods, AJAX creating, 1257–1260 placing in page, 1263–1264 security, 1270

web package feature, Visual Studio, 60 web packages, 17 web page files, 36 web pages

see also web forms; web part pages $ expressions, 355 accessing custom controls, 1112 asynchronous pages, 512–525

creating, 513–515 handling errors, 518–520 multiple asynchronous tasks and

timeouts, 523–525 querying data in, 515–517 using caching with asynchronous tasks,

521–523 connecting code-behind files to, 55–56 connecting control tags to page variables,

56–57 content pages, 722 content placeholders, 722 converting page to user control, 686 creating client callbacks, 1238 creating JavaScript page processor,

1199–1203 cross-page posting, 110, 247–253

getting page-specific information, 249–250

performing in any event handler, 250–251 CSS, 705–709 customizing web pages, 1319 debugging, Visual Studio, 63 designing Silverlight page, 1470–1474 designing with Visual Studio, 28–34

absolute positioning, 29 HTML tables, 31 smart tags, 30 static HTML tags, 31 structuring HTML markup, 32–34

disabling session state management, 259 embedding dynamic graphics in, 1162–1172

custom controls that use GDI+, 1167–1172

passing information to dynamic images, 1164–1166

using PNG format, 1163 enableViewState attribute, 243 GDI+ passing information between, 1172 managing browser history, AJAX, 1284–1288

ScriptManager restoring page state, 1287

master pages, 705, 721–736 models for coding with Visual Studio, 52 moving between, 110–111 pages as control containers, 97–105

dynamic control creation, 103–105 page header, 101–103 showing control tree, 97–101

pages with multiple views, 738–751 MultiView control, 738–742 Wizard control, 742–751

partial caching, 701–704 partial rendering, 1272 placing web method in, AJAX, 1263–1264 query string, 245–247 rendering GDI+ custom controls, 1169–1172 script injection attacks, 1210–1215 themes, 705, 710–721 transferring information between, 245–253 URL encoding, 247 user controls compared, 684 ViewState page property, 236

web part pages, 1319–1329 see also web parts adding web parts to, 1323–1327 creating page design, 1320–1321 customizing, 1327–1329 display modes, 1327 portal pages, 1318 using custom web parts, 1347–1348 Web Parts Framework, 1319 WebPartManager control, 1319, 1321–1322 WebPartZone control, 1322

web part tasks, 1330–1338 web parts, 1329–1375

see also web part pages, WebPart class accessing properties, 1330, 1331 adding to web part pages, 1323–1327 ASP.NET 2.0, 13 authorizing, 1373–1374 connecting, 1354–1363

communication contracts, 1356 consumer web parts, 1358–1360 dynamic connection points, 1361–1362 multiple connection points, 1362–1363 provider web parts, 1356–1358 static connections, 1360–1361

creating custom web part editor, 1351–1354 creating typed DataSets, 1340–1341 custom verbs, 1363–1364 developing, 1339–1347 editing properties, 1348–1354 editor web parts, ASP.NET, 1350 implementing through user controls, 1339

Page 103: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1617

import statements, 1341 initializing, 1342–1343, 1346 IWebPart interface, 1335–1338 loading data, 1343 overriding properties, 1346 personalization, 1367, 1374–1375

resetting, 1374 processing events, 1343 rendering, 1345–1346 uploading dynamically, 1367 user controls, 1364–1367 using custom web parts, 1347–1348 web part tasks, 1330–1338

web parts controls, 124 Web Parts Framework

creating web parts, 1330 customizing web pages, 1319 editing properties of web parts, 1348–1354 personalization, 1317 web part pages, 1319 Web Parts vs. ASP.NET AJAX, 1317

Web Platform Installer see WebPI Web Platform tab, WebPI, 796 web projects

see also project-based development changing target version of .NET, 25 Visual Studio, 58–63

creating web projects, 60–61 migrating websites, 61–63 project-based development, 59–60

websites and, 22 web reference

adding, Silverlight, 1508–1510 web references

App_WebReferences directory, 183 web server

integrated, Visual Studio, 21 web server controls, 11

web control classes, 138–139 Web Server section, WebPI, 796 web server settings, web.config, 196 web services

ASP.NET applications, 180 Silverlight, 1460, 1507–1514

adding web reference, 1508–1510 calling web service, 1510–1511 configuring web service URL, 1511–1512 creating web service, 1508 cross-domain web service calls,

1512–1514 System.Web.Services.dll assembly, 43

web services files, ASP.NET, 36 web services, AJAX, 1254–1263

authentication service, forms, 1265–1267 calling, 1260–1263 creating, 1256–1257 creating web method, 1257–1260 cross-site scripting attacks, 1255 data types for parameters and return values,

1257 hiding, 1263 placing web method in page, 1263–1264 profile service, 1270–1272 role service, 1267–1270 session state, 1258

Web Site command migrating websites, 61

web.config file, 12, 36, 191–195 add element, 197 anonymousIdentification element, 1015 application-level tracing, 118–119 applying master pages, 731 applying themes, 718 appSettings element, 192, 197–198 ASP.NET 3.5 applications, 192 ASP.NET AJAX application services, 1264 ASP.NET applications, 180 ASP.NET-specific configuration settings,

195 assemblies element, 195 assembly references, 61 authentication section, 195, 859, 860 authenticationService element, 1265 authorization and roles in IIS 7.x, 988, 989 authorization element, 195 authorization rules, 966, 967 authorization with roles in IIS 7.x, 992 building data access component, 318 cache configuration, 485 case-sensitivity, 192 changing target version of .NET, 25 compilation element, 195 configSections element, 206 configuration inheritance, 193–194 configured impersonation, 957, 959 configuring connection strings, 892 configuring custom HTTP handler, 220 configuring forms authentication, 886 configuring membership providers, 893 configuring role-based authorization, 976 configuring session state, 258–265 configuring SqlProfileProvider, 1001 ConnectionStrings collection, 199 connectionStrings element, 192, 198–199 controlling directory access, 969 controlling file access, 970

Page 104: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1618

creating custom HTTP module, 229 creating section class, 204–206 credentials store, 862, 871 custom settings, 197 customErrors element, 196 database connection strings, 198 DbProviderFactories class, 312 debug attribute, 195 defining caching settings in, 484 defining profile properties, 1002 denying access to anonymous users, 950

forms authentication, 863 disabling request validation, 1211, 1212 enableExport attribute, 1371 enabling debugging, 42 encrypting configuration sections, 209 error handling, MVC, 1387 extending configuration file structure, 204 extending request validation, 1215 FactoredProfileProvider, 1027 feature delegation, 948, 949 forms authentication, 853, 859–863

IIS 7.x and, 874, 875, 877 forms tag, authentication, 859–862 handlers element, 196 hashing passwords in, 869–870 httpErrors element, 196 implementing provider classes, 1079, 1082 location element, 194–195 masterPageFile attribute, 731 membership element, 196 membership providers, 883 migrating websites, 61, 63 overriding browser type detection, 1125 overriding machine.config settings, 191 pages element, 196 persistence, 202 profile element, 196 profile property element attributes, 1003 profile serialization, 1007 profileService element, 1270 projectless development, 61 queries with provider-agnostic code, 313,

314 registering HTTP handlers, 218 registering section class, 206–208 roleManager element, 196 roleService element, 1267 serializeAs attribute, 1006 sessionState element, 196 state management, 201 structure of, 192 System.Configuration.dll assembly, 43

system.web element, 191, 192, 195–196 system.web.extensions section, 1264 targetFramework attribute, 195 testing FactoredProfileProvider, 1028 trace element, 119, 196 transformation feature, 36 transforming, 806–810

inserting elements, 808 removing elements, 809–810 replacing sections, 809 setting attributes, 807–808

uploading web parts dynamically, 1369 using custom provider classes, 1102 using custom server controls, 1112 web server settings, 196 webParts element, 1374 webServer element, 192, 196 WAT, 202–204 website deployment, 800

web.Debug.config file, 194 web.Release.config file, 194 WebBrowsable attribute, 1341, 1350, 1351 WebBrowsableObject property, 1354 WebConfigurationManager class, 200

AppSettings property, 199, 200, 202 ConnectionStrings property, 199, 200, 202,

280 GetSection method, 200, 201, 202 OpenMachineConfiguration method, 200 OpenWebConfiguration method, 200, 201,

202 purpose of, 202 reading and writing configuration sections

programmatically, 199 retrieving connection strings, 280 using methods and properties of, 202

WebConfigurationSettings class, 197 WebControl class, 137, 1109

AddAttributesToRender method, 1117 creating custom web part editor, 1351 custom controls using GDI+, 1168 properties, 138 Render method, 1116 RenderBeginTag method, 1116, 1118, 1119 RenderChildren method, 1119 RenderContents method, 1116, 1118, 1119 RenderEndTag method, 1116, 1119 rendering process, 1119 rollover buttons, JavaScript, 1222 supporting style properties, 1115–1119, 1122

WebControl.Font property, 143 WebControlAdapter class, 1126 WebControls namespace, 137

Page 105: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1619

WebDisplayName attribute, 1351 WebForm_AutoFocus method, 145 WebHandler directive, ashx file, 222 WebMethod attribute, AJAX, 1257, 1258, 1263 web-page framework, AJAX, 1298–1303

Application class, 1298–1299 client-side AJAX control, 1300–1303 client-side model, 1300 PageRequestManager, 1299

web-page model connecting control tags to page variables,

56 WebPart class

AllowClose property, 1331 AllowConnect property, 1331 AllowEdit property, 1331 AllowHide property, 1331 AllowMinimize property, 1331 AllowZoneChange property, 1332 CatalogIconImageUrl property, 1332 ChromeState property, 1332 ChromeType property, 1332 ConnectErrorMessage property, 1332 connecting web parts, 1356 Controls collection, 1332, 1334 creating consumer web parts, 1358 creating custom web part editor, 1351 creating custom web parts, 1339 creating web part pages, 1319 creating web parts, 1330 Description property, 1332 Direction property, 1332 DisplayTitle property, 1332 ExportMode property, 1332 HasSharedData property, 1332 HasUserData property, 1333 HelpMode property, 1333 HelpUrl property, 1333 Hidden property, 1333 IsClosed property, 1333 IsShared property, 1333 IsStandalone property, 1333 IsStatic property, 1333 rendering custom web parts, 1346 Title property, 1332, 1333 TitleUrl property, 1333 uploading web parts dynamically, 1371 Verbs property, 1333 Zone property, 1333 ZoneIndex property, 1333

WebPartAuthorizationEventArgs class, 1374 WebPartDisplayMode class, 1328 WebPartExportMode type, 1369

WebPartManager control, 1319, 1321–1322 adding web parts to pages, 1326 authorizing web parts, 1373, 1374 BrowseDisplayMode field, 1327 CatalogDisplayMode field, 1327 ConnectDisplayMode field, 1327 connecting web parts, 1356 creating web parts, 1331 customizing web part pages, 1327, 1328 DesignDisplayMode field, 1327 DisplayMode property, 1327, 1328 EditDisplayMode field, 1327 personalization, 1374 static connections between web parts, 1360 WebParts property, 1331

webParts element, web.config, 1374 WebParts namespace, 1341 WebParts section, Visual Studio, 1321 WebParts Toolbox tab, 38 WebPartToEdit property, 1352 WebPartVerb class, 1363, 1364 WebPartVerbCollection class, 1364 WebPartZone control, 1322

adding web parts to pages, 1324, 1325 creating web part pages, 1319 creating web parts, 1334 editing web part properties, 1348 static connections, web parts, 1360 uploading web parts dynamically, 1367,

1369 using custom web parts, 1347

WebPI (Web Platform Installer) installing IIS, 795 preparing IIS using web deploy, 805 Web Platform tab, 796 Web Server section, 796

WebResource attribute, JavaScript, 1195, 1223 WebResource.axd extension, 145 WebService attribute, AJAX, 1257 WebService directive, AJAX, 1256 WebServiceBinding attribute, AJAX, 1257 Website Administration Tool see WAT website deployment, 795, 799–819

configuring IIS, 797–799 copying files approach, 800–804 extending integrated pipeline, 830–833 FTP deployment approach, 813–819 installing IIS, 795–797 project-less website, 817–819 web deployment approach, 799, 804–813

website navigation see navigation WebsiteDeployment directory, 800, 811, 815,

817

Page 106: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1620

websites see also Dynamic Data websites Add New Item window, 53 ASP.NET Empty Web Site template, 25 ASP.NET Web Site template, 25 configuring bindings for, 849 creating, 89, 820–821

projectless website, 23–27 creating virtual directories, 821 enabling SSL traffic on, 850 managing websites, 820–830

application pools, 826–829 application warm-up feature, 829–830 VirtualPathProvider class, 822–825

migrating, 61–63 pages with multiple views, 738–751

MultiView control, 738–742 Wizard control, 742–751

site maps, 751–773 standardizing website layout, 721 web projects and, 22

well-formed XML, 624 WF (Windows Workflow Foundation), 14 When Hit option, breakpoints, 68 WHERE clause

avoiding wide-open queries, 318 concurrency strategies, 327 LINQ expressions, 570 ROWNUM operator, 427 SQL queries, 288 strict concurrency checking, 380

Where method, LINQ, 570, 577 Where property, EntityDataSource, 610 WhereIterator(Of T) class, LINQ, 565, 566 whitespace

metacharacters for matching types of characters, 165

replace spaces with nonbreaking spaces, 113

XML document, 629 Widen method, GraphicsPath, 1157 widescreen monitor

split view, Visual Studio, 28 Width property

ColumnDefinition, 1491 Pens class, 1158 WebControl, 138

wildcards authorization rules, 966 filtering files with, 536

Win16/Win32 properties, HttpBrowserCapabilities, 1124

window.open function, pop-ups, 1216 window.setInterval method, 1200 WindowHeight property, PopUp, 1217 windowless parameter, Silverlight, 1468 windows

certificate stores, 1034 certificates snap-in, 1035 pop-up windows, JavaScript, 1216–1221 Visual Studio, 35

Windows account permissions, 799 Windows authentication, 935–957

accessing user information, 951–957 authorization rules, 967 Basic authentication, 938–939 configured impersonation, 957, 959 configuring ASP.NET, 946 configuring IIS 7.x, 944–946 controlling role access, 970 controlling user access, 968 delegation, 958–959 denying access to anonymous users,

950–951 Digest authentication, 938, 939 file-based authorization, 972 forms authentication compared, 855, 856,

857 HTTP modules, 947, 949 IdentityReference class, 955–957 IIS, 935 IIS 7.x pipeline, 946–950 impersonation, 957–962 implementing, 944–957 Integrated Windows authentication, 938,

940–944 Kerberos authentication, 941–944 NTLM authentication, 940–941 programmatic impersonation, 957, 960–963

getting tokens, 960–961 performing impersonation, 961–963

reasons against using, 937 reasons for using, 935–937 results of querying RolePrincipal with, 987 using roles API with, 986–988 valid Windows identities, 955 WindowsIdentity class, 953–955 WindowsPrincipal class, 952–953

Windows DTC (Distributed Transaction Coordinator), 306

Windows Server AppFabric, 486 WindowsAuthenticationModule, 946 WindowsBuiltInRole enumeration, 952, 953

authorization using IsInRole method, 973

Page 107: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1621

WindowsIdentity class, 953–955 GetCurrent method, 962 getting tokens, 960, 961 Groups property, 954 Impersonate method, 960, 961 methods, 954 performing impersonation, 961, 962 programmatic impersonation, 960 properties, 953 Token property, 960

WindowsImpersonationContext class, 960, 961 WindowsPrincipal class, 952–953

Identity property, 952 IsInRole method, 952, 973

WindowsTokenRoleProvider class, 980, 986 WindowWidth property, PopUp, 1217 Wizard control, 173, 737, 742–751

ActiveStepChanged event, 746, 1285 ActiveStepIndex property, 745, 746, 1286 CancelButtonClick event, 746 CancelButtonStyle property, 748 CancelDestinationPageUrl property, 746 ControlStyle property, 748 customizing appearance, 748–751 DisplayCancelButton property, 746 DisplaySideBar property, 742 events, 746–747 FinishButtonClick event, 746, 747 FinishNavigationTemplate property, 749 FinishPreviousButtonStyle property, 748 GetHistory method, 747 HeaderStyle property, 748 HeaderTemplate property, 749 HeaderText property, 748 LayoutTemplate property, 749, 751 navigation, 742 navigation changes in ASP.NET 4, 737 NavigationButtonStyle property, 748 NavigationStyle property, 748 NextButtonClick event, 746 PreviousButtonClick event, 746 programming models, 746 SideBarButtonClick event, 746 SideBarButtonStyle property, 748 SideBarStyle property, 748 SideBarTemplate property, 749 StartNavigationTemplate property, 749 StartNextButtonStyle property, 748 StepNextButtonXyz properties, 748 StepPreviousButtonStyle property, 748 steps, 743–745 StepStyle property, 748

styles, 748 templates, 749–750 validation controls, 751

wizard controls CreateUserWizard control, 918–923

WizardStep class, 743 WizardStepType enumeration, 743 WPF (Windows Presentation Foundation), 14,

21, 48 wrapping query strings, 1060–1063 Write method

HtmlTextWriter, 1110, 1122 HttpResponse, 109 Response, 97, 248 Trace, 116

writeAccessProperties attribute, 1270, 1271 WriteAllBytes method, 529 WriteAllLines method, 529 WriteAllText method, 529 WriteAttribute method, 1112 WriteAttributeString method, 629, 632 WriteBeginTag method, 1111 WriteComment method, 629 WriteElementString method, 630 WriteEmployeesList method, 328 WriteEndElement method, 630, 631 WriteEndTag method, 1112 WriteFile method, HttpResponse, 109 WriteLine method, 548 WriteStartDocument method, 629 WriteStartElement method, 629, 630, 632 WriteSubstitution method, 482, 483, 484 writeToDiagnosticsTrace attribute, 119 WriteXml method, 333, 628, 631, 677, 678 WriteXmlSchema method, 333, 678 writing configuration sections

programmatically, 199–202 writing XML files, 628–632

■X X coordinate

configuring hotspots, 1144 FillRectangle method, 1150

x namespace prefix Class attribute, 1478 Silverlight, 1475

X509 certificates, 1032 X509Certificate class, 1033 X509Certificate2 class, 1033 X509CertificateCollection class, 1033 X509Store class, 1033

Page 108: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1622

XAML, 1474–1476 creating Silverlight project, 1469 designing Silverlight page, 1470 mapping to Silverlight classes, 1474 XML namespace declaration, 1476

XAML code-behind, 1477–1478, 1510 XAML markup, Silverlight, 1495 XAML namespace, Silverlight, 1475 XAML pages, viewing, 1471 XAP files, Silverlight, 1463, 1464 XAttribute class, 642, 645 XDocument class, 635, 642–648

creating XML with, 642–644 dealing with namespaces, 646 Load method, 644 nested elements, 645 Parse method, 644 reading XML files, 632 reading XML with, 644–646 Save method, 644 transforming XML content, 664 using XPath searches with, 653 validating XML content, 658–659 writing XML files, 628 XNode objects, 642

XElement class Ancestors method, 653 creating XML with XDocument, 642 dealing with namespaces, 646 Descendants method, 653, 655 Element method, 645, 646, 648 Elements method, 645, 646 ElementsAfterSelf method, 653 ElementsBeforeSelf method, 653 methods, 645 properties, 645 transforming XML content, 664

XHTML writing JavaScript names in, 1192 XML and, 623

XHTML 1.0 frameset doctype, 84 XHTML 1.0 transitional doctype, 83, 86 XHTML 1.1 strict doctype, 83, 84 XHTML compliance, 82–87

document type definitions, 83–84 XHTML validation, 86–87

XHTML rendering ASP.NET 4, 17 configuring, 84–85 controlRenderingCompatibilityVersion

attribute, 84 web forms changes in ASP.NET 4, 71

XHTML validation, 86–87

xhtmlConformance element, 84, 85 XhtmlTextWriter class, 1121 XML (Extensible Markup Language), 621, 622

ADO.NET DataSet, 677–679 advantages of, 623–624 application integration, 621 binding chart to XML file, 1184–1185 binding to content, 676 child node, 651 converting DataSet to, 678–679 creating with XDocument, 642–644 cryptography namespace, 1032 data binding see XML data binding descendant node, 651 GetXml method, 333 GetXmlSchema method, 333 in-memory processing, 635–648 LINQ to XML, 14, 563 reading with XDocument, 644–646 reading XML files, 632–635 ReadXml method, 334 ReadXmlSchema method, 334 searching content, 648–655

LINQ, 653–655 XmlDocument, 648–651 XPath class, 651–653

storing data, 622 stream-based processing, 628–634 System.Xml.dll assembly, 43 transforming content, 659–665

LINQ to XML, 663–665 Xml control, 662–663 XslCompiledTransform, 661–662

transforming to HTML, 662 updating via XmlDataSource, 677 validating content, 655–659

XDocument class, 658–659 XmlDocument class, 656–658

well-formed XML, 624 when to use, 621–622 WriteXml method, 333 WriteXmlSchema method, 333 writing XML files, 628–632 XDocument class, 642–648

Xml control, 173 DocumentSource property, 662 transforming content, 662–663 TransformSource property, 662

XML data binding, 665–677 binding to content from other sources, 676 flattening XML with, 667 hierarchical binding, TreeView, 672–674 nested grids, 671–672

Page 109: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1623

nonhierarchical binding, 666–668 updating XML via XmlDataSource, 677 with templates, 669 XPath class, 668–670 XSLT, 674–675

XML document dynamically created, 631 whitespace, 629

Xml mode, serialization in, 1007 XML namespaces, 624–626

mapping, Silverlight, 1476 namespace prefixes, 626, 632 xmlns attribute, 625

XML parsers, 624 XML schedule file, AdRotator, 173 XML schemas, 626–628 XML serialization

DataSet class, 332 web.config, 1006

XML visualizer, Visual Studio, 647 XmlAttribute class, 1009 XmlDataSource control class, 368, 665

see also data source controls binding to XML content, 676 CacheXyz properties, 676 caching with, 496 Data property, 676, 779 DataBind method, 666 DataFile property, 676, 677 GetHierarchicalView method, 672 GetXmlDocument method, 666, 677 hierarchical binding with TreeView, 672 nonhierarchical binding, 666 Save method, 677 Transform property, 674 TransformFile property, 674 updating XML via, 677 using XPath to filter results, 669, 670 XPath property, 669, 670 XSLT features, 674

XmlDocument class, 635, 636–639 ChildNodes property, 636 CreateNavigator method, 639 creating XPathNavigator from, 639 GetElementsByTagName method, 648, 650 Load method, 636 LoadXml method, 637 Nodes collection, 666 nonhierarchical binding, 666 reading XML files, 632 retrieving information from, 637 Save method, 639 searching XML content, 648–651

SelectNodes method, 652 SelectSingleNode method, 652 user concurrency, 636 validating XML content, 656–658 writing XML files, 628 XmlNode objects, 636

XmlDownloadResolver class, 636 XmlElement class, 649, 1009 XMLHttpRequest object, 15, 1230–1231

building Ajax-style page, 1232, 1233 handling responses, 1231 open method, 1230 responseText property, 1231 responseXML property, 1231 send method, 1231 sending requests, 1230–1231

XmlIgnore class, 1009 XmlLabel control, 1140, 1141 XmlMembershipProvider class, 1078–1095

designing custom providers, 1070 implementing provider classes, 1079, 1080 TransformPassword method, 1087 using custom provider classes, 1102

XmlNode class, 636 HasChildNodes property, 639 NodeType property, 638 properties, 638

XmlNode data types, AJAX, 1258 xmlns attribute

dealing with namespaces, XDocument, 646 WriteAttributeString method, 632 XML namespaces, 625

XmlReader class Create method, 656

XmlReaderSettings class, 656, 657 XmlRoleProvider class, 1095–1101

CreateRole method, 1097 CurrentStore property, 1098 DeleteRole method, 1097, 1098 designing custom providers, 1070 FileName property, 1097 FindUsersInRoles method, 1100 Initialize method, 1096 IsUserInRole method, 1100 RemoveUsersFromRoles method, 1099 RoleExists method, 1097, 1098 using custom provider classes, 1102

XmlSchemaValidationException class, 657 XmlSerializer class, 1009, 1070

implementing store, 1071, 1073, 1078 XmlSiteMapProvider class, 751, 752, 753, 759,

760, 764

Page 110: link.springer.com3A978-1-4302-2512-6%2F1.pdfINDEX 1521 server controls, 1272–1288 managing browser history, 1284–1288 partial rendering, 1273–1280 time consuming updates, 1281–1284

■ INDEX

1624

XmlTextReader class, 628 AttributeCount property, 633 designing custom providers, 1070 MoveToContent method, 633, 634 MoveToNextAttribute method, 633 Read method, 632 ReadElementString method, 634 ReadEndElement method, 634 ReadStartElement method, 634

XmlTextWriter class, 628 designing custom providers, 1070 properties, 629 WriteAttributeString method, 629, 632 WriteComment method, 629 WriteElementString method, 630 WriteEndElement method, 630, 631 WriteStartDocument method, 629 WriteStartElement method, 629, 630, 632

XmlValidatingReader class, 656 XNamespace class, 646, 647, 648 XNode class, 642 XPath class

combining multiple paths, 652 count function, 652 data binding expressions, 668, 669 defining selection criteria, 652 executing XPath expression, 652 extracting information with, 653 filtering results, 669 indicating current node, 652 indicating parent node, 652 position function, 652 searching for child nodes, 651 searching with XDocument, 653 searching XML content, 651–653 selecting attributes of nodes, 652 selecting element in path, 652 starts-with function, 652 syntax, 651

XPath property, 669, 670

XPathNavigator class, 635, 639–642 creating from XmlDocument, 639 MoveToXyz methods, 641 NodeType property, 641 reading XML files, 632 Select method, 652

XPathSelect method, 671 XSL (Extensible Stylesheet Language)

transforming XML content, 659–663 Xml control, 662–663 XslCompiledTransform, 661–662

XSL stylesheet, 659 XslCompiledTransform class, 661–662 XSLT (XSL Transformations), 83

XML data binding, 674–675 XValueMember property, Series, 1183

■Y Y coordinate

configuring hotspots, 1144 FillRectangle method, 1150

YValueMember property, Series, 1183

■Z ZIndex property, Canvas, 1482, 1483 ZIP file

creating HTTP handler, 224 zipping see compression Zone property, WebPart, 1333 ZoneIndex property, 1333 zones

accidentally modifying/closing, 1327 adding web parts to pages, 1323

zones, prebuilt creating web part page, 1320

ZoneTemplate control adding web parts to pages, 1324, 1325 creating web parts, 1330 uploading web parts dynamically, 1367