150 likes | 271 Vues
Dive deep into the intricacies of designing and developing web-based solutions with ASP.NET. This week focuses on essential topics such as website navigation, multi-view wizard implementation, site maps, and menu controls. Learn how to effectively utilize SiteMapPath controls and localize text and graphic assets to enhance user experience. Engage in practical labs to finish your master page and populate your site with pages, ensuring your navigation is structured, user-friendly, and properly localized for diverse audiences.
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