Usually these are hardcoded (except for the directory based ones) and don't actually reflect the path the user has taken to get to a particular page in your site. If they were dynamic you would have to keep track of duplicates and clean up the list of pages so that the list didn't get to long.
One possibility would be to pass a comma delimited list of keywords with every link and form that appended a name for the current page on the end of it. Then you could create an include file with an ASP function to:
a) clean up the list
b) do a select case stmt to output the bread crumbs with links, and
c) return the cleaned up list for use in your links
To explain the cleaning up a little more:
say your user went to the home page, then search, then results, than an item view, then they went back to the top navigation and clicked contact
Code:
Home: Home
Search: Home > Search
Results: Home > Search > Results
Item View: Home > Search > Results > Item
If you just appended contact at this point you would have:
Home > Search > Results > Item > Contact
which doesn't really show the navigation path well, because you don't have to go to item before clicking contact. It should be:
Home > Contact
So cleaning up would be removing those extra items from the middle that didn't correspond. One option would be to hardcode the list passed by your navigation, then build the rest of the page specific links dynamically, this might take care of that problem.
-Tarwn
01000111 01101111 01110100 00100000 01000011 01101111 01100110 01100110 01100101 01100101 00111111
The never-completed website