HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
Special Edition Using Microsoft® Expression® Web 2
The only EXPRESSION WEB 2 book you need
The successor to the best-selling book on the first release of Microsoft Expression Web, this book provides comprehensive coverage of Microsoft Expression Web 2. You’ll learn the basics of Web design and Expression Web 2 and gain valuable insight into Expression Web 2’s advanced features, such as ASP.NET and PHP development. If you’re interested in learning how to design standards-compliant Web sites using Expression Web 2, this is the only book you need.
• Create standards-compliant Web sites with Expression Web 2 that work consistently in all browsers.
• Become proficient in the use of CSS by learning how to use the powerful CSS tools in Expression Web 2.
• Learn how to take advantage of ASP.NET and ASP.NET AJAX without writing any code.
• Learn how to use the new PHP features available in Expression Web 2.
• Add dynamic, interactive content with Behaviors and Layers.
• Design your Web site for accessibility using both Section 508 and WCAG compliance.
“Expression Web was built to help web authors create standards-based and standards-compliant web sites. Jim Cheshire has a broad understanding of those standards and a deep appreciation of Expression Web. Put the two together and you’ve got a guide that helps you understand and build sites that meet the challenges of modern Web design.”
—Steven Guttman,
Product Unit Manager,
Expression Web
Jim Cheshire is the owner of Jimco Software, a freeware software company and technology review site, and is the author of several books on Web development and ASP.NET. Jim has been heavily involved in Web development for more than a decade and has operated and designed many Web sites during that time. He’s been featured in numerous publications, including MSDN Magazine and PC Magazine. Jim previously worked on the FrontPage team at Microsoft and currently is an escalation engineer on the ASP.NET and IIS teams.
Category: Web Development
Covers Microsoft Expression Web 2
User Level Beginning—Advanced
On the CD-ROM
• Sample files from the author
• FREE! full version of Logo Creator (retail value of $39.95)
• FREE! full version of DHTML Menu Builder Lite (retail value of $25)
• Electronic version of this book in Adobe’s Portable Document Format (PDF)
Cover image: Digital Vision Photography/Veer Inc.
Publishing a Web Site in Microsoft Expression Web 2
Introduction
Who Should Read This Book?
Why Use Expression Web 2?
How This Book Is Organized
Special Elements
Lagniappe (lan yap’) n., a gift or bonus
Part I An Overview of Expression Web 2
Chapter 1 A Tour of Expression Web 2
The Expression Web 2 Interface
Task Panes
The Folder List
The Design Surface
The Status Bar
Working with Web Sites
Creating Web Sites
Web Site Reports
Publishing Web Sites
Tools for Creating Pages
Powerful Table Tools
Dynamic Web Templates
Find and Replace
Editing Tag Properties
Quick Tag Tools
Powerful CSS Tools
Style Builder
Manage Styles Task Pane
Apply Styles Task Pane
Site Optimization
Accessibility Reports
Compatibility Reports
CSS Reports
Scripting and Dynamic Content
Interactive Buttons
Behaviors
Layers
ASP.NET Controls
PHP Support
Data Access Features
Lagniappe: Extending Expression Web 2
Part II Web Sites in Expression Web 2
Chapter 2 Creating a Web Site
What Is a Web Site?
How Expression Web 2 Maintains a Web Site
Web Sites and Subsites
Web Site Templates
Types of Web Sites
Disk-based Web Sites
FTP Web Sites
HTTP Web Sites
Troubleshooting
Lagniappe: Deciding on a Web Site Type
Chapter 3 Publishing a Web Site
What Is Publishing?
Server Options for Publishing
FrontPage Server Extensions
WebDAV
FTP
File System
Publishing Content
Configuring Publish Options
Optimizing HTML During Publishing
The Remote Web Site View
Troubleshooting HTTP Publishing
Troubleshooting
Lagniappe: Hosting Your Web Site
Chapter 4 Web Site Management and Reporting
Web Site Settings
General Tab
Preview Tab
Advanced Tab
Language Tab
Web Site Reports
Configuring Reports
Saving Reports
Troubleshooting
Lagniappe: Better Web Site Reporting
Chapter 5 Importing a Web Site
Moving Web Sites by Importing
Using the Import Web Site Wizard
Step 1: Choosing an Import Method
Step 2: Specifying a Destination Web Site Location
Step 3: Finish
Troubleshooting
Lagniappe: Importing Versus Publishing
Chapter 6 Using Personal Web Packages
What Are Personal Web Packages?
Creating a Personal Web Package
Importing a Personal Web Package
Troubleshooting
Lagniappe: Capitalizing on Personal Web Packages
Part III Creating and Editing Web Content
Chapter 7 Creating Pages and Content
Creating Web Pages
General Page
ASP.NET Pages
CSS Layouts
Style Sheets
Frames Pages
Importing Files
Importing Adobe Photoshop Files
Formatting Text
How Expression Web 2 Formats Text
Font Families
Font Sizes
Creating Hyperlinks
Targeting Hyperlinks
Hyperlink Parameters
HTML Bookmarks
Hyperlink ScreenTips
Spell-Checking
Configuring Page Properties
General Tab
Formatting Tab
Advanced Tab
Custom Tab
Language Tab
Using Code Snippets
Configuring File Editors
Troubleshooting
Lagniappe: Making the Most of Code Snippets
Chapter 8 Using Web Page Views
Introduction to Page Views
Working in Design View
Visual Aids
Formatting Marks
Ruler and Grid
Tracing Images
Adjusting Page Size
Working in Code View
Customizing Code Formatting
Quick Tag Tools
IntelliSense
Context Menu
Bookmarks
Working in Split View
Troubleshooting
Lagniappe: Taking Advantage of Page Views
Chapter 9 Using Tables and Layout Tables
The Origin of Tables
The Makeup of an HTML Table Tag
The align Attribute
The border Attribute
The cellpadding Attribute
The cellspacing Attribute
The frame Attribute
Rows, Columns, and Cells
The colspan and rowspan Attributes
Aligning Content in Cells
Tables in Expression Web 2
Inserting Tables
Customizing Tables
Layout Tables and Cells
Designing Layout with Tables
Using the Layout Tables Task Pane
Troubleshooting
Lagniappe: Designing for Multiple Resolutions Using Tables
Chapter 10 Using Frames
Using Frames in Web Sites
When to Use Frames
When Not to Use Frames
Creating Frames Pages
Configuring Frames
Splitting Frames
Deleting Frames
Creating Alternative Content
Targeting Frames
Adding and Configuring Inline Frames
Troubleshooting
Lagniappe: Tips for Frames
Frame Borders
Resizable Frames
Breaking Out of a Frameset
Chapter 11 Using Form Controls
Understanding HTML Forms
Using Form Controls in Expression Web 2
Creating a Form
Saving Form Results to a File or E-mail
File Results Tab
E-mail Results Tab
Confirmation Page Tab
Saved Fields Tab
Saving Form Results to a Database
Updating a Database with New Fields
Troubleshooting
Lagniappe: Hidden Form Fields
Chapter 12 Editing Tag Properties
An Introduction to Tag Properties
Understanding the Tag Properties Task Pane
Viewing Tag Properties with the Tag Properties Task Pane
Setting Tag Attributes with the Tag Properties Task Pane
Creating a Page
Setting Tag Properties
Using Events with the Tag Properties Task Pane
Troubleshooting
Lagniappe: Tag Properties and Web Standards
Chapter 13 Using the Quick Tag Tools
Introduction to the Quick Tag Tools
Locating and Selecting Elements Using the Quick Tag Selector
Editing Page Content Using the Quick Tag Editor
Editing a Tag
Removing a Tag
Inserting HTML
Wrapping a Tag
Controlling Positioning
Editing Tag Properties
Troubleshooting
Lagniappe: When to Use the Quick Tag Editor
Chapter 14 Using Graphics and Multimedia
Web Image Formats
The GIF Format
The JPEG Format
The PNG Format
Inserting Images
Formatting Images
Resizing Images
Changing Picture Properties
Converting Images
Creating Image Thumbnails
Configuring Auto Thumbnails
Creating Image Maps
Inserting Multimedia
Inserting Flash Movies
Inserting Silverlight
Inserting Windows Media
Page Transitions
Troubleshooting
Lagniappe: Serving Video
Chapter 15 Configuring Page Editor Options
Accessing Page Editor Options
Exploring Page Editor Options
The General Tab
AutoThumbnail Tab
Default Fonts Tab
Code Formatting Tab
CSS Tab
Color Coding Tab
Authoring Tab
Picture Tab
Code Snippets Tab
Ruler and Grid Tab
IntelliSense Tab
Font Families Tab
Lagniappe: Experiment to Learn More
Chapter 16 Using Find and Replace
An Introduction to Find and Replace
Finding and Replacing Text
Using Regular Expressions
Finding Text
Replacing Text
Using HTML Rules in Find and Replace
Finding and Replacing HTML Tags
Saving Queries
Troubleshooting
Lagniappe: Editing and Removing Recent Searches
Part IV Using CSS in Expression Web 2
Chapter 17 Creating Style Sheets
An Introduction to CSS
The Purpose of CSS
How CSS Is Applied to Web Pages
External Style Sheets
Embedded Style Sheets
Inline Styles
Formatting Content with CSS
Positioning Content with CSS
CSS Classes
Basic Application of a CSS Class
Applying Multiple CSS Classes
Pseudo-Classes
Pseudo-Elements
Troubleshooting
Lagniappe: Background Images
Chapter 18 Managing CSS Styles
Expression Web 2’s CSS Tools
Apply Styles Task Pane
Manage Styles Task Pane
Link Style Sheet Dialog
CSS Properties Task Pane
CSS Reports
Style Builder
Working with Styles
Using the Manage Styles Task Pane
Using the Apply Styles Task Pane
Using the CSS Properties Task Pane
Using the Style Builder
Using the Attach Style Sheet and Link Style Sheet Dialogs
CSS Reports
Checking for CSS Errors
Checking CSS Usage
Troubleshooting
Lagniappe: Arranging CSS Styles
Part V Optimizing Your Web Site
Chapter 19 Accessibility Features in Expression Web 2
An Introduction to Accessibility
Designing for Accessibility
Accessible Hyperlinks
Accessible Tables
Accessible Frames
Other Accessibility Considerations
Using the Accessibility Checker
Checking Accessibility
Working with the Accessibility Task Pane
Generating Accessibility Reports
Lagniappe: Seeing Color
Chapter 20 Designing for Compatibility
A Brief History of Web Browsers
What Is Browser Compatibility?
Compatibility Features in Expression Web 2
Identifying Code Problems
Marking Invalid Code
Using Reports to Find Problems
Troubleshooting
Lagniappe: Don’t Rely on Expression Web 2 to Enforce Standards
Part VI Scripting, DHTML, and Other Dynamic Content
Chapter 21 Using Dynamic Web Templates
An Introduction to Dynamic Web Templates
Creating a Dynamic Web Template
Creating a Page Layout
Adding Editable Regions
Attaching a Dynamic Web Template
Attaching to an Existing Page
Attaching to a New Page
Updating a Site with Dynamic Web Templates
Modifying a Dynamic Web Template
Modifying an Attached Page in Code View
Managing Editable Regions
Adding a New Editable Region
Renaming an Existing Editable Region
Resolving Mismatched Editable Regions
Detaching a Dynamic Web Template
Troubleshooting
Lagniappe: Under the Hood
Chapter 22 Using Interactive Buttons
Overview of Interactive Buttons
Inserting and Configuring Interactive Buttons
The Button Tab
The Font Tab
The Image Tab
Saving an Interactive Button
Editing an Interactive Button
Troubleshooting
Lagniappe: Practical Uses for Interactive Buttons
Chapter 23 Using Behaviors
Understanding and Working with Behaviors
Using the Behaviors Task Pane
How Behaviors Work
Adding Behaviors Within a Paragraph
Expression Web 2 Behaviors
The Call Script Behavior
The Change Property Behavior
The Change Property Restore Behavior
The Check Browser Behavior
The Check Plug-in Behavior
The Go To URL Behavior
The Jump Menu Behavior
The Jump Menu Go Behavior
The Open Browser Window Behavior
The Play Sound Behavior
The Popup Message Behavior
The Preload Images Behavior
The Set Text Behavior
The Swap Image Behavior
The Swap Image Restore Behavior
Troubleshooting
Lagniappe: Detecting Browsers
Creating a Blank Page for Redirecting
Editing the Check Browser Code
Chapter 24 Client-side Scripting
A History of Browser Scripting
JavaScript Basics
Adding JavaScript to a Web Page
Linking to an External Script File
Adding Inline JavaScript
The Document Object Model
The window Object
The document Object
Writing Simple Scripts
Showing and Hiding Page Elements
Accessing and Changing Attributes
Form Field Validation
Troubleshooting
Lagniappe: Debugging
Chapter 25 Using Layers
Introduction to Layers
Inserting and Configuring Layers
Adding Content to a Layer
Resizing a Layer
Creating and Working with Child Layers
Positioning Layers
Setting Layer Properties with Behaviors
Setting the Visibility of Layers
Adding Layer Interactivity
Troubleshooting
Lagniappe: Z-Order Anomalies
Chapter 26 Creating VBA Macros
Introduction to Programming with Visual Basic for Applications
Understanding Modules, Class Modules, and UserForms
Accessing Web Sites with VBA
The Application Object Model
The Web Object Model
The Page Object Model
Writing a Macro
Creating the UserForm
Implementing the Functionality
Finishing the Code
Running the Macro
When Something Goes Wrong—Debugging
Troubleshooting
Lagniappe: Protecting Macro Code
Part VII ASP.NET and PHP Development in Expression Web 2
Chapter 27 Using the Microsoft Expression Development Server
Introduction to the Microsoft Expression Development Server
How to Use the Microsoft Expression Development Server
Limitations of the Microsoft Expression Development Server
Process Identity
No Remote Access
No Support for ASP Pages
Troubleshooting
Lagniappe: Starting the Microsoft Expression Development Server from the Command Prompt
Chapter 28 Using Standard ASP.NET Controls
ASP.NET: A Brief Introduction
Creating ASP.NET Pages
The Basics of ASP.NET Controls
Understanding Control Properties
An Overview of the Standard ASP.NET Controls
The AdRotator Control
Creating a Simple AdRotator Page
Creating the Advertisement File
The Calendar Control
Formatting the Calendar Control
Calendar Control Properties
The Wizard Control
Wizard Steps
Creating a Simple Wizard
Making ASP.NET Work for You
Troubleshooting
Lagniappe: Formatting with Styles
Chapter 29 Using ASP.NET Navigation Controls
Overview of Navigation Systems
Creating a Sitemap File
Using the ASP.NET Menu Control
Creating a Test Web Site
Adding a Menu Control
Formatting the Menu Control
Using the ASP.NET TreeView Control
Formatting the TreeView Control
Using the ASP.NET SiteMapPath Control
Formatting the SiteMapPath Control
Troubleshooting
Lagniappe: Improving Navigation with Master Pages
Chapter 30 Using ASP.NET Master Pages and User Controls
The Need For a Common Layout
The Master Page
The Content Page
Developing a Master Page Web Site
Creating the Master Page
Creating the Content Page
Troubleshooting
Lagniappe: Converting an Existing Site to a Master Page Site
Chapter 31 Developing a Login System with ASP.NET
Web Site Login Systems
Overview of ASP.NET Login Controls
The Login Control
LoginStatus Control
LoginName Control
ChangePassword Control
PasswordRecovery Control
CreateUserWizard Control
LoginView Control
Creating a Login Solution
Configuring the Web Site (IIS 5 or IIS 6)
Configuring the Web Site (IIS 7)
Configuring the Web Site (Microsoft Expression Development Server)
Creating the Web Pages
Troubleshooting
Lagniappe: Modifying Password Requirements
Chapter 32 Implementing Form Validation Using ASP.NET
The Need for Form Validation
The ASP.NET Validation Controls
Common Properties
Creating a Validated Form
Troubleshooting
Lagniappe: Validation Groups
Chapter 33 Using ASP.NET Web Parts
An Introduction to Web Parts
Creating ASP.NET User Controls
Web Parts Controls in the Toolbox
Creating a Web Parts Page
Web Parts Page Display Modes
Creating a User Control that Sets the Display Mode
Adding Code to Change the Display Mode
The Web Parts Catalog
Troubleshooting
Lagniappe: Editing Web Parts Controls
Chapter 34 ASP.NET AJAX Extensions
What Is Ajax?
Microsoft’s ASP.NET AJAX
Microsoft AJAX Library
Microsoft ASP.NET AJAX Extensions
Microsoft AJAX ASP.NET Control Toolkit
Adding Ajax Functionality to a Web Form
Creating a Web Site and Web Page
Adding Server-Side Code
Adding a ScriptManager Control
Adding an UpdatePanel Control
Troubleshooting
Lagniappe: Using the AJAX Library
Adding a <div> to the Web Form
Creating the Client Library
Adding the Client Script to the ScriptManager Control
Chapter 35 Using PHP in Expression Web 2
An Introduction to PHP
PHP Syntax
Installing PHP
Installing IIS 7 and FastCGI
Installing PHP
Enabling PHP Using FastCGI
Creating PHP Pages
Previewing the Page
PHP in Design View
PHP in Code View
PHP Syntax Highlighting
Using IntelliSense with PHP
Setting PHP-Specific IntelliSense Options
PHP Script Options
Form Variable
URL Variable
Session Variable
Cookie Variable
include
Include Once
require
require_once
Code Block
echo
Comment
if
else
Troubleshooting
Lagniappe: Displaying PHP Information
Part VIII Accessing Data in Expression Web 2
Chapter 36 Primer on Data Access Technologies
A History of Data Access
Data Access Technologies in Expression Web 2
ASP.NET and Other Web Application Platforms
Lagniappe: Databases Aren’t Just for Online Spreadsheets
Chapter 37 Accessing Data with ASP.NET
ASP.NET Data Source Controls
AccessDataSource Control
SqlDataSource Control
SiteMapDataSource Control
XmlDataSource Control
Displaying Data with ASP.NET
Displaying Data in Tabular Form
Sorting the GridView
Editing Data with ASP.NET
Configuring the Data Source
Configuring the GridView
Testing the Page
Troubleshooting .
Lagniappe: Creating a Master/Detail View
Creating the Master View
Creating the Detail View
Part IX Appendixes
Appendix A Taking Advantage of E-Commerce
The Power of E-Commerce
E-Commerce Options
Digital River
Lulu
Payment Processing
PayPal
Banks
2CO
Putting It All Together In Expression Web 2
Security
Advertising and Affiliates
Lagniappe: Is It Worth the Risk?
Appendix B The Future of Web Development
Changing Standards
Benefits of XHTML
Emerging Technologies
Ajax
Ruby on Rails
Other Emerging Technologies
Lagniappe: Understanding and Using RSS
The RSS Feed
The RSS Reader
Appendix C Resources on Expression Web 2, Web Design, ASP.NET, and PHP
Online Resources on Expression Web 2
JimcoBooks.com
Microsoft’s Expression Forums
Expression Web 2 Help
The Expression Designers: Graphic, Interactive, and Web
by-Expression
Online Resources on Web Design
InformIT
Webmonkey
O’Reilly Network
World Wide Web Consortium
Template World Free Templates
Online Resources on ASP.NET and PHP
asp.netPRO
4GuysFromRolla.com
ASP.NET Official Web Site
DotNetJunkies
Chris Hanscom’s PHP Resource Center
The Official PHP Web Site
Microsoft IIS 7 Web Site
0789737841 TOC 3/6/2008