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.