ASP.NET
Overview
Ken Casada
Ken.Casada@microsoft.com
Developer Evangelist
Developer & Platform Evangelism
Microsoft Switzerland
Agenda
Introduction
Master Pages
Data access
Caching
Site navigation
Security: users and roles
Themes/Skin
AJAX Support
ASP.NET (Active Server Pages.NET)
Web Application Framework (part of .NET
Framework  current Version 3.5 SP1)
to build dynamic web sites and web services
Tools
Visual Web Developer 2008 Express Edition
(for free)
Visual Studio 2008 Professional
Visual Studio 2008 Team System
Solution deployed on IIS (For
development no IIS required  Built-in
ASP.NET web server)
Visual Studio 2008 tour
ASP.NET Server Controls
Server Controls encapsulate both
behaviour and rendering
Declarative, specified by runat=“server”
Generate HTML that is sent to the client
Can support multiple client types
Web App
Master Pages Work
Design time
MySite.master
<%@ Master %>
Header
Navigation
<asp:ContentPlaceHolder
Id=MainContent />
Footer
Default.aspx
<%@ Page MasterPageFile=“~/MySite.master” %>
<asp:Content
ContentPlaceHolderId=MainContent
/>
How Master Pages Work
Runtime
http://serverName/SiteName/Default.aspx
Header
Navigation
Default page content
Footer
Default.aspx’s content replace the
contentPlaceholder of the master page at
runtime
Master Pages
Data Controls
Data Source Controls:
<asp:SqlDatasource>
<asp:AccessDatasource>
<asp:XmlDatasource>
<asp:SitemapDatasource>
<asp:ObjectDatasource>
<asp:LinqDatasource>
<asp:EntityDatasource>
Data Bound Controls:
<asp:gridview>
<asp:detailsview>
<asp:treeview>
<asp:menu>…
Data Source Controls
Declarative ("no-code") data binding
 Part of .aspx files
SqlDataSource
ObjectDataSource
AccessDataSource
XmlDataSource
Data
Component
SQL
Databases
Any
Data
SiteMapDataSource
Site Map
Provider
Access
Databases
XML
Data
Site Maps
Data Controls
Site Navigation
Built-in site layout and navigation system
Built-in support for XML site description (App.SiteMap)
Provider model for alternate stores (example: database)
Programmatic API Enables Access to Site Layout
Where you are in the site, link structure, paths, etc.
Rich server controls encapsulate common tasks
<asp:SiteMapPath> -- Bread-Crumb Control
<asp:SiteMapDatasource> -- DataSource Control
<asp:treeview> -- Hierarchical tree control
<asp:menu> -- Rich navigation menu control
<asp:wizard> -- Control for multi-step state processes
Site Navigation
Login Controls (Users & Roles)
Control suite built on Membership/Roles APIs:
<asp:login> -- Login Form
<asp:loginname> -- Output authenticated name
<asp:loginstatus> -- Indicate whether authenticated
<asp:loginview> -- Template driven views
<asp:passwordrecovery> -- Email lost password
<asp:createuser> -- Create new account
<asp:changepassword> -- Change password
Security
Themes/Skinning
Themes are rich skin templates that can be applied
to pages and controls
Enable customization of both style and structure
Can be dynamically set at runtime (personalization)
Themes encapsulated within .skin files
Stored within \themes directory of application
Contain pre-defined set of control property values
Theme picked via “Page.Theme” property
Themes
What is ASP.NET AJAX?
A Framework for building Richer, more
Interactive, Standards-based Web Experiences
High Productivity AJAX Development Framework
Fewer concepts, fewer lines of code
Application and UI building blocks for common scenarios
Builds on Top of ASP.NET 2.0
Well integrated with design and development tools
Seamlessly integrated application model
Works with ASP.NET pages and server controls
Allows access to ASP.NET web services and components
Standards-Based: Works Cross-Browser!
AJAX
References
ASP.NET Quickstart Tutorial !
ASP.NET on MSDN
Visit www.asp.net/ for more info
Hosting PHP on IIS7 (www.iis.net/php)
© 2007 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only.
MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.