Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Including a file in ASP

Posted on 2002-04-22
7
224 Views
Last Modified: 2013-11-18
Hi all...

I'm making a website in ASP (I used to work with PHP, in PHP the solution for my problem is the INCLUDE(filename) function) and I have a problem.

I want to insert the text of an other file into a ASP page.

i.e.:

index.asp
---------
<!--#include file="read.function.asp"-->
<html>
<head></head>
<body>
<%
strMenu = "create.asp"
Response.Write(ReadDisplayFile(strMenu) %>
</body>
</html>

This is the code of read.function.asp

read.function.asp
-----------------
<%
     Function ReadDisplayFile(FileToRead)
          strFileToRead = Server.Mappath(FileToRead)
          Set fs = CreateObject("Scripting.FileSystemObject")
          Set strThisFile = fs.OpenTextFile(strFileToRead, 1, False, TristateMixed)
          strTemp = strThisFile.ReadAll
          strThisFile.Close
          set strThisFile = nothing
          set fs = nothing
          ReadDisplayFile = strTemp
     end Function
%>

This is the code of create.asp

create.asp
----------
<html>
<head></head>
<body>
<form method="post" action="index.asp">
 <table>
  <tr>
   <td>Name:</td>
   <td><input type="text" name="first_name"></td>
  </tr>
 </table>
</form>
<% Response.Write("test") %>
</body>
</html>

Now, if I load index.asp in my browser...I see the form, but not the printout of <% Response.Write("test") %>.
So, the ASP-code is not parsed.

I also tried this
<% testje = """test.asp""" %>
<% Response.Write("<!--#include file="& testje & "-->") %>

but the include file-statement doesn't work when I use a variable...

Does anybody have a solution? I need this so bad...thank you very very much if you can help me...

Thanks...
0
Comment
Question by:RoB
7 Comments
 
LVL 19

Expert Comment

by:webwoman
ID: 6960115
You can't use a variable. Includes are done before the ASP is parsed, so there's no variable to use.

The include should definitely parse correctly, make sure that it's in the same directory as the main file. Also, you might want to rename it -- take out the . in the filename. I suspect that may be causing problems.
0
 
LVL 5

Expert Comment

by:harwantgrewal
ID: 6960121
is your asp is working I mean check the source of the page it display the asp tag that means your ASP is not parsing check iis

harry
0
 
LVL 7

Expert Comment

by:daniel_c
ID: 6960181
Just curious, why do you have to read the file?
Why don't just redirect to the ASP file?

Change this to your index.asp file:

<!--#include file="read.function.asp"-->
<html>
<head></head>
<body>
<%
strMenu = "create.asp"
Response.Redirect strMenu
'Response.Write(ReadDisplayFile(strMenu))
%>
</body>
</html>

HTH,

^_^
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
LVL 6

Expert Comment

by:ebosscher
ID: 6960239
I'm willing to hazard a guess.

The browser will not see the ASP as ASP because it is output, you are sending the new page directly to the browser window, the browser is not calling the ASP through IIS, and so IIS sees no need to parse the page it is receiving.  I could be wrong, but that SEEMS like what it is doing.

I would suggest not streaming pages that require interpritation by the server, the server probably sees these as a text stream, and not as an ASP.

Regards,

Evan
0
 
LVL 11

Accepted Solution

by:
ASPGuru earned 60 total points
ID: 6960527
hi RoB,

if you have Win2k you can use:
Server.Execute testje

ASPGuru
0
 
LVL 33

Expert Comment

by:knightEknight
ID: 6960604
try this:

testje MUST be a fully qualified URL: http://server/path/file.inc

<%
 Response.Buffer = True

 RePost(testje)  'note: this must be a fully qualified URL

 Function RePost( postURL )  'instead of redirecting, repost the form data

   Dim objXMLHTTP, xml
   Set xml = Server.CreateObject("Microsoft.XMLHTTP")
   xml.Open "POST", postURL, False
   xml.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
   xml.Send "" & Request.Form &"&"& Request.QueryString &"&"& Request.Cookies
   Response.Write xml.responseText
   'RePost = ""&xml.responseText
   Set xml = Nothing

 End Function
%>
0
 

Author Comment

by:RoB
ID: 6960778
Thank you very much mate...

RoB
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

There are two main kinds of selectors in CSS: One is base selector like h1, h2, body, table or any existing HTML tags.  For instance, the following rule sets all paragraphs (<p> elements) to red: (CODE) CSS also allows us to define our own custom …
I was asked about the differences between classic ASP and ASP.NET, so let me put them down here, for reference: Let's make the introductions... Classic ASP was launched by Microsoft in 1998 and dynamically generate web pages upon user interact…
HTML5 has deprecated a few of the older ways of showing media as well as offering up a new way to create games and animations. Audio, video, and canvas are just a few of the adjustments made between XHTML and HTML5. As we learned in our last micr…
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question