150 likes | 250 Views
Designing & Developing Web-Based Solutions in ASP.NET. Week 3 Website Navigation & Resources. Today’s Agenda. Web Site Navigation MultiView -Wizard SiteMaps TreeView -Menu Controls SiteMapPath Control Resources Text Localization Graphic & Other Asset Localization Lab:
E N D
Designing & Developing Web-Based Solutions in ASP.NET Week 3 Website Navigation & Resources
Today’s Agenda • Web Site Navigation • MultiView-Wizard • SiteMaps • TreeView-Menu Controls • SiteMapPath Control • Resources • Text Localization • Graphic & Other Asset Localization • Lab: • Finish MasterPage & Populate Site with pages • Website Navigation • Localized Text Strings Designing & Developing Web-Based Solutions in ASP.NET
MultiView & Wizard Controls • Purpose • Single web page -- Multiple views • Lists (www.vistaprint.com) • Surveys • Alternate views of data (Raw text, chart, image, …) • Good • Single page keeps navigation simple • Bad • Data / State can make for large page if sloppy. Designing & Developing Web-Based Solutions in ASP.NET
MultiView vs. Wizard • Wizard has more features • State restrictions • Extra navigation controls • Submit control • Submit each step OR • Submit on final Designing & Developing Web-Based Solutions in ASP.NET
Site Maps • Purpose • Define page Heirarchy • Define page URL, Friendly Name, Tooltip Description • Use in a Navigation control • Types • Files: <somename>.sitemap • Code/DB: via SiteMapProvider Designing & Developing Web-Based Solutions in ASP.NET
Default.sitemap file • <?xml version="1.0" encoding="utf-8" ?> • <siteMapxmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" > • <siteMapNodeurl="Default.aspx" title=“Home" description="Home page"> • <siteMapNodeurl="About.aspx" title="About" description="Company History" /> • </siteMapNode> • </siteMap> Designing & Developing Web-Based Solutions in ASP.NET
Nested Site Map files • <siteMap> • <siteMapNode title=“Home” url=“~/”> • <siteMapNodesiteMapFile=“~/Visitor.sitemap” /> • <siteMapNodesiteMapFile=“~/Admin.sitemap” /> • </siteMapNode> • </siteMap> • Can restrict menu display to child sitemaps Designing & Developing Web-Based Solutions in ASP.NET
Site Map Restrictions • URL’s must be unique • Work Arounds • Use a custom SiteMapProvider (more work) • Add dummy query strings to identical URLs (BEST) • URL=“~\About.aspx?id=1” • URL=“~\About.aspx?id=2” • URL Mapping: Alias URLs in web.config • <configuration><system.web> • <urlMappings enabled=“true”> • <add url=“~/About.aspx?id=1” mappedUrl=“~\About.aspx”/> • NOTE: stops the bogus query string from appearing Designing & Developing Web-Based Solutions in ASP.NET
Security Trimming • Auto enable/disable private pages in .sitemap • web.config • <configuration><system.web> • <siteMapdefaultProvider=“SecureSiteMapProvider”> • <add name=“SecureSiteMapProvider” • siteMapFile=“Default.sitemap” • securityTrimmingEnabled=“true”/> • Turn OFF security • Default.sitemap • <SiteMapNode title=“Admin” … roles=“*”/> // All allowed Designing & Developing Web-Based Solutions in ASP.NET
SiteMapDataSource • Provides the link: • References a .sitemap • Hooked to one or more Navigation controllers • Control Hierarchy Visibility • SiteMapDataSource.ShowStartingNode • SiteMapDataSource.StartFromCurrentNode • SiteMapDataSource.StartingNodeOffset Designing & Developing Web-Based Solutions in ASP.NET
Menu &/|| Treeview • Both highly configurable • Orientation: horizontal/vertical • Colors, images, fonts • Dummy vs. clickable nodes • Spacing • Styles for different levels of the hierarchy • Add the SiteMapDataSource to the property • Can have multiple menus & SiteMapDataSrc’s Designing & Developing Web-Based Solutions in ASP.NET
SiteMapPath • Purpose: • Displays the current pages hierarchy. • “You are HERE” • Can allow user to select a parent page • Can set styles, clickable links, tooltips, … • Home > About > Contact Us > Directions • ParentLevelsDisplayed = 1 • Contact Us > Directions • Does NOT use siteMapDataSource. Designing & Developing Web-Based Solutions in ASP.NET
Localization – Resource files • App_LocalResources • Page Specific • About.aspx About.aspx.resx • About.aspx About.aspx.fr.resx • About.aspx About.aspx.sp.resx • App_GlobalResources • Site wide • Resources.resx • Content • ID=Text Designing & Developing Web-Based Solutions in ASP.NET
Localization - Code • String.Format() // localized by default • “0:c” // currency • Additional special symbols localized (date/time,…) • DateTime.ToString() // localized by default Designing & Developing Web-Based Solutions in ASP.NET
Homework • Readings • Chapter 15 – User Controls • Project • Menu, BreadCrumb, Localization, Wizard… Designing & Developing Web-Based Solutions in ASP.NET