ASP.NET WEB DEVELOPER'S GUIDE
CONTENTS CHAPTER 1 INTRODUCING ASP NET INTRODUCTION LEARNING FROM THE HISTORY OF ASP THE ORIGINS OF ASP WHY ASP WAS NEEDED WHY ASP WAS NOT ORIGINALLY EMBRACED DEVELOPING ASP 1 X DEVELOPING ASP 2 X MAJOR CHANGES WITH ASP WEAKNESSES IN THE ASP 2 MODEL FINAL CHANGES TO ORIGINAL ASP MODEL WEAKNESSES IN THE ASP 3 MODEL THE NEED FOR A NEW ASP MODEL THE ASP TIMELINE REVIEWING THE BASICS OF THE ASP NET PLATFORM UTILIZING THE FLEXIBILITY OF ASP NET CONVERTING CODE INTO MULTIPLE LANGUAGES COMPARING IMPROVEMENTS IN ASP NET TO PREVIOUS ASP MODELS HOW WEB SERVERS EXECUTE ASP FILES CLIENT-SERVER INTERACTION SERVER-SIDE PROCESSING COMPILING AND DELIVERING ASP NET PAGES RUNNING ASP NET WEB PAGES OBTAINING AND INSTALLING NET CREATING YOUR FIRST ASP NET APPLICATION UPGRADING FROM CLASSIC ASP TAKING SECURITY PRECAUTIONS SUMMARY SOLUTIONS FAST TRACK FREQUENTLY ASKED QUESTIONS CHAPTER 2 ASP NET NAMESPACES REVIEWING THE FUNCTION OF NAMESPACES USING NAMESPACES USING THE MICROSOFT VISUALBASIC NAMESPACE UNDERSTANDING THE ROOT NAMESPACE: SYSTEM SUPPLIED FUNCTIONALITY INTEGRAL NUMBERS FLOATING-POINT NUMBERS DATES STRINGS BOOLEANS OBJECTS GROUPING OBJECTS AND DATA TYPES WITH THE SYSTEM COLLECTIONS NAMESPACE ENABLING CLIENT/BROWSER COMMUNICATION WITH THE SYSTEM WEB NAMESPACE SYSTEM WEB UI NAMESPACE SET SYSTEM WEB SERVICES NAMESPACE SET WORKING WITH DATA SOURCES USING THE SYSTEM DATA NAMESPACE PROCESSING XML FILES USING THE SYSTEM XML NAMESPACE CHAPTER 3 ASP SERVER CONTROLS MAJOR FEATURES OF ASP NET SERVER CONTROLS COLLECTING DATA USING HTML FORMS SERVER-SIDE PROCESSING IN ASP NET A SIMPLE APPLICATION USING CONVENTIONAL HTML CONTROLS A SIMPLE APPLICATION USING ASP SERVER CONTROLS MAPPING SERVER CONTROLS AND PRESERVING THEIR STATES INCLUDING SCRIPTS IN AN ASPX FILE LOADING A LIST BOX VIA SCRIPT USING THE ISPOSTBACK PROPERTY OF A PAGE AUTOPOSTBACK ATTRIBUTES OF SERVER CONTROLS STRUCTURE OF AN ASP NET WEB FORM PAGE DIRECTIVES THE ORDER OF EVENT EXECUTION CODE-BEHIND VERSUS IN-PAGE CODING USING CODE-BEHIND WITHOUT COMPILATION USING CODE BEHIND WITH COMPILATION USING VS NET FOR DEVELOPING A WEB APPLICATION USING HTML SERVER CONTROLS USING THE HTMLANCHOR CONTROL USING THE HTMLTABLE CONTROL USING HTMLINPUTTEXT AND HTMLTEXTAREA CONTROLS USING HTMLBUTTON AND HTMLIMAGE CONTROLS USING THE HTMLINPUTFILECONTROL USING THE HTMLSELECT CONTROL WITH DATA BINDING TO A SORTEDLIST STRUCTURE CREATING AND LOADING THE SORTEDLIST USING HTMLCHECKBOX AND HTMLINPUTRADIOBUTTON CONTROLS USING ASP NET WEB CONTROLS BASIC WEB CONTROLS USING LABELS, TEXTBOXES, RADIOBUTTONS, CHECKBOXES, AND DROPDOWNLISTS USING THE LISTCONTROL ABSTRACT CLASS USING HYPERLINK CONTROLS BINDING A LISTCONTROL TO AN ARRAYLIST VALIDATION CONTROLS THE REQUIREDFIELDVALIDATOR CONTROL THE REGULAREXPRESSIONVALIDATOR CONTROL THE COMPAREVALIDATOR CONTROL THE RANGEVALIDATOR CONTROL THE CUSTOMVALIDATOR CONTROL CUSTOMVALIDATOR WITH EXPLICIT CLIENT-SIDE VALIDATION FUNCTION DISPLAYING THE ERROR MESSAGE WITH STYLE THE VALIDATIONSUMMARY CONTROL VALIDATING PATTERNED STRINGS, PASSWORDS, AND DATES </FORM></BODY></HTML> THE DATABOUND LISTCONTROLS FAMILY USING THE REPEATER SERVER CONTROL USING THE DATALIST CONTROL USING THE DATAGRID CONTROL PROVIDING PAGING IN DATAGRID NAVIGATING TO A SELECTED PAGE PROVIDING DATA EDITING CAPABILITY IN A DATAGRID CONTROL CREATING CUSTOM ASP SERVER USER CONTROLS CREATING A SIMPLE WEB USER CONTROL EXPOSING PROPERTIES OF A USER CONTROL DEVELOPING THE PAYROLL USER CONTROL CONSUMING THE PAYROLL USER CONTROL CHAPTER 4 CONFIGURING ASP NET OVERVIEW OF ASP NET CONFIGURATION USES FOR A CONFIGURATION FILE APPLICATION CONFIGURATION SETTING STATIC VARIABLES USING THE <APPSETTINGS> TAG PROVIDING GLOBAL SUPPORT USING THE <GLOBALIZATION> TAG CONFIGURING APPLICATION IDENTITY USING THE <IDENTITY> TAG SETTING PAGE-SPECIFIC ATTRIBUTES USING THE <PAGES> TAG CONFIGURING THE TRACING SERVICE USING THE <TRACE> TAG SYSTEM CONFIGURATION DETERMINING CLIENT CAPABILITIES USING THE <BROWSERCAPS> TAG SETTING COMPILATION OPTIONS USING THE <COMPILATION> TAG CONTROLLING CONNECTIONS USING THE <CONNECTIONMANAGEMENT> TAG DEFINING CUSTOM ERRORS USING THE <CUSTOMERRORS> TAG MAPPING REQUESTS USING THE <HTTPHANDLERS> TAG CONFIGURING HTTP MODULES USING THE <HTTPMODULES> TAG SETTING RUNTIME OPTIONS USING THE <HTTPRUNTIME> TAG SETTING PROCESS MODEL OPTIONS USING THE <PROCESSMODEL> TAG CONFIGURING THE SESSION STATE USING THE <SESSIONSTATE> TAG CONFIGURING REQUEST MODULES USING THE <WEBREQUESTMODULE> TAG CONFIGURING WEB SERVICES USING THE <WEBSERVICES> TAG SECURITY AUTHENTICATING USERS USING THE <AUTHENTICATION> TAG CONFIGURING SECURITY MODULES USING THE <AUTHENTICATIONMODULES> TAG CONTROLLING ACCESS USING THE <AUTHORIZATION> TAG CONFIGURING ENCRYPTION KEYS USING THE <MACHINEKEY> TAG MAPPING SECURITY POLICIES USING THE <SECURITYPOLICY> TAG APPLYING TRUST LEVELS USING THE <TRUST> TAG ANATOMY OF A CONFIGURATION FILE CREATING A CONFIGURATION FILE RETRIEVING SETTINGS CHAPTER 5 AN ASP NET APPLICATION UNDERSTANDING ASP NET APPLICATIONS MANAGING STATE ANALZYING GLOBAL ASAX UNDERSTANDING APPLICATION STATE USING APPLICATION STATE APPLICATION CACHE OBJECT STATIC VARIABLES STATE EXAMPLE USING APPLICATION EVENTS SUPPORTED APPLICATION EVENTS MORE EVENTS WORKING WITH APPLICATION EVENTS THREADING USE UNDERSTANDING SESSION STATE CONFIGURING SESSIONS USING SESSION EVENTS WORKING WITH SESSION EVENTS COMPARING APPLICATION AND SESSION STATES STATIC VALUES CACHING DATA EXPIRING THE CACHE CHAPTER 6 OPTIMIZING CACHING METHODS CACHING OVERVIEW OUTPUT CACHING USING THE @ OUTPUTCACHE DIRECTIVE USING THE HTTPCACHEPOLICY CLASS ADVANTAGES OF USING OUTPUT CACHING FRAGMENT CACHING ADVANTAGES OF USING FRAGMENT CACHING DATA CACHING USING THE CACHE METHOD USING THE CACHE ADD AND CACHE INSERT METHODS USING THE DEPENDENCY OPTION USING THE EXPIRATION POLICY OPTION USING THE PRIORITY OPTIONS USING THE CACHEITEMREMOVEDCALLBACK DELEGATE </HTML>USING THE CACHE REMOVE METHOD ADVANTAGES OF USING DATA CACHING BEST USES FOR CACHING CHAPTER 7 INTRODUCTION TO ADO NET: A SIMPLE ADDRESS BOOK UNDERSTANDING THE CHANGES IN ADO NET SUPPORTED CONNECTIVITY THE SYSTEM DATA NAMESPACE THE SYSTEM DATA COMMON NAMESPACE THE SYSTEM DATA OLEDB NAMESPACE THE SYSTEM DATA SQLCLIENT NAMESPACE THE SYSTEM DATA SQLTYPES NAMESPACE CREATING CONNECTION STRINGS WHERE TO PUT THE CONNECTION STRING CREATING AN ADDRESS BOOK APPLICATION CONNECTING TO A DATABASE: EXERCISE BROWSING A DATABASE: EXERCISE ADDING TO A DATABASE: EXERCISE UPDATING DATA IN A DATABASE: EXERCISE DELETING FROM A DATABASE: EXERCISE CHAPTER 8 USING XML IN THE NET FRAMEWORK AN OVERVIEW OF XML WHAT DOES AN XML DOCUMENT LOOK LIKE? CREATING AN XML DOCUMENT CREATING AN XML DOCUMENT IN VS NET XML DESIGNER COMPONENTS OF AN XML DOCUMENT WELL-FORMED XML DOCUMENTS SCHEMA AND VALID XML DOCUMENTS STRUCTURE OF AN XML DOCUMENT PROCESSING XML DOCUMENTS USING NET READING AND WRITING XML DOCUMENTS STORING AND PROCESSING XML DOCUMENTS READING AND PARSING USING THE XMLTEXTREADER CLASS PARSING AN XML DOCUMENT NAVIGATING THROUGH AN XML DOCUMENT TO RETRIEVE DATA WRITING AN XML DOCUMENT USING THE XMLTEXTWRITER CLASS GENERATING AN XML DOCUMENT USING XMLTEXTWRITER EXPLORING THE XML DOCUMENT OBJECT MODEL NAVIGATING THROUGH AN XMLDOCUMENT OBJECT PARSING AN XML DOCUMENT USING THE XMLDOCUMENT OBJECT USING THE XMLDATADOCUMENT CLASS LOADING AN XMLDOCUMENT AND RETRIEVING THE VALUES OF CERTAIN NODES USING THE RELATIONAL VIEW OF AN XMLDATADOCUMENT OBJECT VIEWING MULTIPLE TABLES OF A XMLDATADOCUMENT OBJECT QUERYING XML DATA USING XPATHDOCUMENT AND XPATHNAVIGATOR USING XPATHDOCUMENT AND XPATHNAVIGATOR OBJECTS USING XPATHDOCUMENT AND XPATHNAVIGATOR OBJECTS FOR DOCUMENT NAVIGATION TRANSFORMING AN XML DOCUMENT USING XSLT TRANSFORMING AN XML DOCUMENT TO AN HTML DOCUMENT TRANSFORMING AN XML DOCUMENT INTO ANOTHER XML DOCUMENT WORKING WITH XML AND DATABASES CREATING AN XML DOCUMENT FROM A DATABASE QUERY READING AN XML DOCUMENT INTO A DATASET CHAPTER 9 DEBUGGING ASP NET HANDLING ERRORS SYNTAX ERRORS COMPILATION ERRORS RUNTIME ERRORS UNSTRUCTURED ERROR HANDLING STRUCTURED ERROR HANDLING LOGIC ERRORS PAGE TRACING USING THE TRACE CLASS SORTING THE TRACE INFORMATION WRITING THE TRACE INFORMATION TO THE APPLICATION LOG APPLICATION TRACING USING VISUAL STUDIO NET DEBUGGING TOOLS SETTING BREAKPOINTS ENABLING AND DISABLING DEBUG MODE VIEWING DEFINITIONS USING THE OBJECT BROWSER USING THE CLASS VIEWER CHAPTER 10 WEB SERVICES UNDERSTANDING WEB SERVICES COMMUNICATION BETWEEN SERVERS ASMX FILES WSDL USING XML IN WEB SERVICES AN OVERVIEW OF THE SYSTEM WEB SERVICES NAMESPACE THE SYSTEM WEB SERVICES DESCRIPTION NAMESPACE THE SYSTEM WEB SERVICES DISCOVERY NAMESPACE THE SYSTEM WEB SERVICES PROTOCOLS NAMESPACE TYPE MARSHALLING USING DATASETS CHAPTER 11 CREATING AN XML NET GUESTBOOK FUNCTIONAL DESIGN REQUIREMENTS OF THE XML GUESTBOOK CONSTRUCTING THE XML ADDING RECORDS TO THE GUESTBOOK UNDERSTANDING THE PNLADD PANEL ADDING A THANK-YOU PANEL WITH PNLTHANK EXPLORING THE SUBMIT BUTTON HANDLER CODE VIEWING THE GUESTBOOK DISPLAYING MESSAGES ADVANCED OPTIONS FOR THE GUESTBOOK INTERFACE MANIPULATING COLORS AND IMAGES MODIFYING THE PAGE OUTPUT CHAPTER 12 CREATING AN ADO NET SHOPPING CART SETTING UP THE DATABASE SETTING UP THE TABLE “BOOKS” SETTING UP THE TABLE “CATEGORIES” SETTING UP THE TABLE “CUSTOMER” SETTING UP THE TABLE “ORDERS” SETTING UP THE TABLE “BOOKORDERS” CREATING AN ACCESS DATABASE SQL SERVER DATABASE CREATING THE STORED PROCEDURES CREATING THE WEB SERVICES OVERVIEW OF THE BOOK SHOP WEB SERVICES CREATING THE DATA CONNECTION CREATING A WEB SERVICE TESTING A WEB SERVICE USING WSDL WEB REFERENCES BUILDING THE SITE SITE ADMINISTRATION CREATING THE ADMINISTRATION LOGIN (ADMINLOGIN ASPX) CREATING THE ADMINISTRATOR PAGE (ADMINPAGE ASPX) RETRIEVING THE DATA: CREATING THE GETBOOKS ALLBOOKS WEB METHOD DISPLAYING THE DATA: BINDING A DATAGRID TO THE DATASET ADDING NEW BOOKS TO THE DATABASE: CREATING THE ALLBOOKS ADDITEM WEB METHOD DELETING BOOKS: DELETING FROM THE DATAGRID AND THE DATABASE UPDATING BOOK DETAILS: UPDATING THE DATAGRID AND THE DATABASE CREATING THE ADDBOOK PAGE (ADDBOOK ASPX) CUSTOMER ADMINISTRATION CREATING THE CUSTOMER ADMIN SECTION CREATING THE LOGINCUSTOMER PAGE CREATING THE UPDATECUSTOMERINFO PAGE CREATING AN ADOCATALOG CREATING THE BOOKCATALOG CLASS CREATING THE CREATESUMMARYTABLE METHOD CREATING THE INITCATALOG METHOD CREATING THE CATALOG METHOD CREATING THE CATALOGITEMDETAILS, CATALOGRANGE, AND CATALOGBYCATEGORY METHODS CREATING THE CATALOGRANGEBYCATEGORY METHOD BUILDING AN XMLCART CREATING THE USER INTERFACE CREATING THE START ASPX PAGE RENDERING THE CATALOG RENDERING THE CART CREATING THE CODE CHAPTER 13 CREATING A MESSAGE BOARD WITH ADO AND XML MSACCESS DATABASE DESIGNING YOUR APPLICATION DESIGNING YOUR OBJECTS CREATING YOUR DATA ACCESS OBJECT DESIGNING THE USER CLASS DESIGNING THE BOARD CLASS DESIGNING THE THREADLIST CLASS DESIGNING THE THREAD CLASS DESIGNING THE POSTLIST CLASS DESIGNING THE POST CLASS DESIGNING THE MESSAGEBOARD CLASS DESIGNING THE USER INTERFACE SETTING UP GENERAL FUNCTIONS BUILDING THE LOG-IN INTERFACE DESIGNING THE BROWSING INTERFACE BOARD BROWSING THREAD BROWSING MESSAGE BROWSING CREATING THE USER FUNCTIONS EDITING THE MEMBER PROFILE CREATING THREADS AND POSTS BUILDING THE ADMINISTRATIVE INTERFACE