When you think ASP, think...
Recent Articles
All Articles
ASP.NET Articles [1.x] [2.0]
ASPFAQs.com
Message Board
Related Web Technologies
User Tips!
Coding Tips
Search

Sections:
Book Reviews
Sample Chapters
Commonly Asked Message Board Questions
Headlines from ASPWire.com
JavaScript Tutorials
MSDN Communities Hub
Official Docs
Security
Stump the SQL Guru!
Web Hosts
XML Info
Information:
Advertise
Feedback
Author an Article
Technology Jobs

















internet.com
IT
Developer
Internet News
Small Business
Personal Technology
International

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers
ASP ASP.NET ASP FAQs Message Board Feedback ASP Jobs
Print this page.

Windows Systems Administrator
Jupitermedia
US-CT-Darien

Justtechjobs.com Post A Job | Post A Resume

User Tips: A Neat Use for Include Files Encompassing both HTML content and ASP Code


By Jeremy J.

I've got a suggestion for a tip I've picked up when making ASP/SQL pages.

I often find my self using a similar design over a large number of pages, and I want to have a header and a footer. I know this could be set up with two lines:

<!--#include file="header.inc"--> and <!--#include file="footer.inc"-->

but for me that means editing more files, and doesn't allow easily to see both files at once, for example if I made a large change to the site design. Also, on some pages I want to include a small form that updates something in a database using SQL, and depending on the results of that, possibly forward the user to another page. For example - I have a logon page for an admin area called logon.asp. The user enters their username on the page and the actual checking of the user is done on that page:

Logon.asp
<%
If request("action") = "logon"
  'check user
  'if valid response.redirect("main.asp")
End If
%>
<!--#include file="header.inc"-->
<form action="<%=scriptname%>?action=logon" method="post">
<input type="text" name="user"><input type="submit"></form>
<!--#include file="footer.inc"-->

However, there can be some problems doing things like this - if the checking part needs to look something up on a database, then I need to specifically set up the database connection string beforehand - if it was in the header, then I'd have to do the checking after the header was shown, and then I couldn't use the forwarding method. If this is the same string as I need for several pages, and it may change, then I need to include a third file called something like database.inc and include that at the top of every page. Help! - 3 include files.

However, I discovered a nifty way of only using one include file, and it certainly solves all my problems. The file is called includes.asp and looks like this:

<!-- Include this information on each page -->
<%
'Set up Connection String
Scriptname = Request.ServerVariables("SCRIPT_NAME")
%>
<!-- End of general information -->

<% Sub Header(PageName) %>
<html>
<head><title><%=PageName%></title></head>
<body>
.. Do header stuff
<% End Sub %>

<% Sub Footer %>
.. Do footer stuff
</html>
<% End Sub %>

Now, creating new database-enabled pages is very simple - I simply write them like this:

<!--#include file="includes.asp"-->
<% call header("New Page") %>
Page Content goes here
<% call footer %>

Simple, eh? Also - if I wanted to put any code at the top of the page, I can put it between the <!--#include line and the <% Call header line. Note, I also used a variable to change the title of the page - other variables could be used for similar purposes.

Now, if I need to change and of the information on pages, I simply need to alter the includes.asp file - where everything is in one place.

Great site guys - keep up the good work! I'll let you know if I think of any other useful things I've learnt in ASP/SQL, mostly from working on the site at http://www.planetquake.com/airquake2/.

Jeremy

Happy Programming!

Return to user tips...


Windows Internet Technology | ASP.NET [1.x] [2.0] | ASPMessageboard.com | ASPFAQs.com | Advertise | Feedback | Author an Article



JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
Microsoft Article: HyperV-The Killer Feature in WinServer ‘08
Avaya Article: How to Feed Data into the Avaya Event Processor
Microsoft Article: Install What You Need with Win Server ‘08
HP eBook: Putting the Green into IT
Whitepaper: HP Integrated Citrix XenServer for HP ProLiant Servers
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 1
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 2--The Future of Concurrency
Avaya Article: Setting Up a SIP A/S Development Environment
IBM Article: How Cool Is Your Data Center?
Microsoft Article: Managing Virtual Machines with Microsoft System Center
HP eBook: Storage Networking , Part 1
Microsoft Article: Solving Data Center Complexity with Microsoft System Center Configuration Manager 2007
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
Intel Video: Are Multi-core Processors Here to Stay?
On-Demand Webcast: Five Virtualization Trends to Watch
HP Video: Page Cost Calculator
Intel Video: APIs for Parallel Programming
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
Microsoft Silverlight Video: Creating Fading Controls with Expression Design and Expression Blend 2
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Sun Download: Solaris 8 Migration Assistant
Sybase Download: SQL Anywhere Developer Edition
Red Gate Download: SQL Backup Pro and free DBA Best Practices eBook
Red Gate Download: SQL Compare Pro 6
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
How-to-Article: Preparing for Hyper-Threading Technology and Dual Core Technology
eTouch PDF: Conquering the Tyranny of E-Mail and Word Processors
IBM Article: Collaborating in the High-Performance Workplace
HP Demo: StorageWorks EVA4400
Intel Featured Algorhythm: Intel Threading Building Blocks--The Pipeline Class
Microsoft How-to Article: Get Going with Silverlight and Windows Live
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES