I would like to use the DotNetNuke navigation. That's what my post was about. But the navigation documentation that I have found and tried to use had not worked when I wrote the post yesterday. This morning I found one way to use NavigateURL() that worked. I used "Response.Redirect(NavigateURL(54))" and that took me to the target page. However using that way would require me knowing ahead of time what the tab id was for that page (and maybe hardcoding as well). The targetted ascx will always show the same data no matter where it might reside on the DNN site, so the actual page or tab that it's on won't matter.
The User won't navigate by themselves because they'll click an item in a grid and then that link will take them to the target page with only the specific data showing on the target page depending on the row that was clicked on the original page. Maybe that target page would be included in the same module but in this case I am writing an experimental project in anticipation of a much larger project.
The larger project I had in mind will have separate modules that users will purchase, but that will interact with each other depending on what they have bought. For instance there may be an Inventory module and a Shipping module. I would want a user to go to an Inventory item and maybe click a link that says, "Ship It", which would then take them to the Shipping module. It wouldn't be good programming practice to have to put all the Shipping code in with the Inventory code, but if nothing else it would be a major headache if there were 25 modules and all the source code had to be mixed up together.
But what if I wanted to compile and sell the Shipping module separately from the Inventory module. If I wrote the Shipping module well it could be a stand-alone program for someone from a Postal Store, for instance, but if the the customer were a warehouse they might buy the Inventory module. In that case the Inventory and Shipping module would need to communicate and be able to navigate between each other.
There should be a way to communicate and navigate between different modules (without hardcoding Tab IDs, etc.) with the program in charge and not the User. If the program knows what's next then it should take the user there, not require the user to go there themselves (which might require telling them where to go, thus introducing the possibility of User Annoyance because they didn't see the instructions). Programs were introduced to make less work for a user, so I would like my programs to do everything for the user except pour their coffee. If I could figure out how to pour the coffee maybe I'd do that too.
I hope that I've given you enough info. Thanks for the help,
Tundra