How can I include pages, style sheets, or links to them, automatically into my ASP VBscript pages? I read something about ‘global’ pages, but I am unsure what they mean and how it is that I can accomplish such a thing. I’m sure this is an easy question, but it’s of great help to me as I’ve been writing VBscript for 2 days now! I’m not exactly an expert on HTML in general either, but I feel I have a reasonably good grasp of things. I would appreciate a good detailed example of how a ‘global’ page plays with my other ASP pages.
I’m setting up my first site…a management site for the main site I intend to build afterward. I want to get all my ducks in a row before moving forward with the public site. Can someone please give me some detailed information on how to include these pages/links automatically (page includes(header/footer), style sheets, etc) globally throughout my site without the need of using <!--#include file.... on each page I make, because that is kind of a pain and I’m sure there is an easier way. If there is, I know you can help! Thanks in advance, I look forward to hearing what options/possibilities are available.
If you insist on using ASP Classic you may find some method for handling masterpage like functionality but it is, to the best of my knowledge, not suppoerted as such by the framework.
[Edit] Given the edit of the original question the method first demonstrated is not so interesting, hence I suggest an alternative method too.
You could make a general ASP-page which serves all traffic to the site. A queryparameter then specifies which subpage should be displayed. Subpages are made as seperate ASP-pages which are executed by the general/master page or by another subpage. A very crude example of this could look like this:
The site should then be addressed in this fashion:
which would load the contact.asp subpage into the masterpage or:
to load a user’s profilepage (displayed by the profile.asp in the folder user/1234). This last example raises some issues because then every user has to have a folder containing all the asp-files (which is far from optimal) so you might want to employ some interpretation of the url queryparameter to redirect input in a more intelligent way.
Another issue is the fact that subpages are ASP-pages themselves which means someone could reference them directly. This calls for some action to protect those subpages from direct reference. It can be done but this would probably mean including some code => back to square one!
Another disadvantages of this approach is that subpages are rendered in their own context and hence can’t access functionality and data from the calling page’s context. This means that global data has to be shared in some other way (session, application, database or some other way). Data can’t be passed to the subpage either (and no, Server.Execute doesn’t allow query-parameters).
The include-way
Personally I think you get the most flexibility by using header/footer includes as demonstrated in my original post and shown below.
One way is to put your general stuff in includes and then includes those bits on each ASP-page. E.g.:
And your header.asp could look something like this:
and footer.asp like so:
This strategy has some disadvantages. The header is fairly static which could present some problems with SEO; For one the title should fit the pagecontent which is hard to accomplish when the include contains the header-markup. This could be facilitated by some global variables that are set prior to the include-section i.e.:
and then in the header like so
but that already begins to “smell” a little because you set up some expectations for the including page inside the include-file. At least you have to be very disciplined when constructing your pages.