Includes not allowed in Server Script tags

T

tshad

I am not sure why I am getting this error:

I have the following code I want to run from another include file that holds
all my functions.

functions.inc
************************************************************************************
<Script runat="Server">
Sub fnHeader(client As String)
response.write("<!-- #include file = ../includes/staffingHeaders.inc -->")
end function

function fnFooter(client As String)
response.write("<!-- #include file = ../includes/staffingFooters.inc -->")
end function
</script>
************************************************************************************

My pages would look something like:

*****************************************************************************
<!-- #include file = ../includes/functions.inc -->
<%@ Page Language="VB" AutoEventWireup="true" ContentType="text/html"
ResponseEncoding="iso-8859-1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
....

<%
Call fnHeader("Richard")
%>

.... Code specific to this page

<%
Call fnFooter("Richard")
%>

....
</html>
******************************************************************************

The calls would put an include file at that point which has some generic
HTML code or ASP.NET code in it.

The problem is I get the following error:
*************************************************************************************
Parser Error
Description: An error occurred during the parsing of a resource required to
service this request. Please review the following specific parse error
details and modify your source file appropriately.

Parser Error Message: Server includes are not allowed in server script tags.

Source Error:

Line 1: <Script runat="Server">
Line 2: Sub fnHeader(client As String)
Line 3: response.write("<!-- #include file =
.../includes/staffingHeaders.inc -->")
Line 4: end function
Line 5:


Source File: c:\inetpub\wwwroot\development\includes\functions.inc Line:
3
******************************************************************

Why do I get this and is there a way to do what I want to do?

Thanks,

Tom.
 
J

Jeff Dillon

You pass a parameter to fnHeader (client as string) but then subsequently
ignore it?

Since there appears to be no branching logic based on parameters, why not
simply Include the file per usual?

Jeff
tshad said:
I am not sure why I am getting this error:

I have the following code I want to run from another include file that holds
all my functions.

functions.inc
****************************************************************************
********
<Script runat="Server">
Sub fnHeader(client As String)
response.write("<!-- #include file =
.../includes/staffingHeaders.inc -->")
end function

function fnFooter(client As String)
response.write("<!-- #include file =
.../includes/staffingFooters.inc -->")
 
T

tshad

Scott Allen said:
Hi Tom:

In the long run, you'll do best to move from using include files to
using User Controls and/or Server Controls. User controls are easy to
create and consume.

I tried that and they work great. But the whole reason for using my include
files was to be able to call different include files from the same routine
based on who the client is (this was why I was not using the passed
variable - I hadn't got that far yet).

Now I am having the problem with my include statement when I want to change
the file name it calls.

Here is the .ascx file:

*********************************************************************************
<Script runat="server">
Public ClientName As String = "Staff"
</Script>

<!-- #include file = ..\includes\<%=ClientName%>Headers.inc -->
*********************************************************************************

This gives me an error:

*********************************************************************************
Parser Error Message: Illegal characters in path.

Source Error:

Line 3: </Script>
Line 4:
Line 5: <!-- #include file = ..\includes\<%=ClientName%>Headers.inc -->
*********************************************************************************

How can I get this statement to work with variable file names
(staffheaders.inc, employeeheaders.inc, etc.).

Thanks,

Tom.
 
T

tshad

Jeff Dillon said:
You pass a parameter to fnHeader (client as string) but then subsequently
ignore it?

As I mentioned in my other post - I hadn't got to using the parameter yet,
as I couldn't get past the error I was getting.

Tom.
 
K

Kevin Spencer

You are really very likely to have beaucoups problems if you continue to use
an object-oriented technology in a procedural way. Kind of like trying to
drive a car with an automatic transmission by shifting the gears.

--
HTH,
Kevin Spencer
..Net Developer
Microsoft MVP
Neither a follower
nor a lender be.
 
T

tshad

Kevin Spencer said:
You are really very likely to have beaucoups problems if you continue to
use
an object-oriented technology in a procedural way. Kind of like trying to
drive a car with an automatic transmission by shifting the gears.

But then how am I going to be able to call different "includes" based on
some criteria (passed, read from a file etc) - or can I?

This seems like I pretty simple thing to do (but the simple things usually
tend to be the most difficult).

Tom
 
G

Guest

But then how am I going to be able to call different "includes" based on
some criteria (passed, read from a file etc) - or can I?

You can achieve that by using OO programming techniques such as inheritance.
If you need to instantiate an object dynamically based on a string read from
a file or say database, you can do that using .NET feature such as
Reflections. As others have mentioned, stop thinking procedural 'classic' asp
way and start thinking OOP way.
 
S

Scott Allen

It could happen by setting different properties on the control, or
binding a different set of data to the control, or even dynamically
creating and adding a different control altogether.
 
S

Scott Tuttle

Consider....

Server.Execute("yourinclude.aspx")

Probably not considered the best way to do it... but ... should do what you
are trying to accomplish.
 
K

Kevin Spencer

But then how am I going to be able to call different "includes" based on
some criteria (passed, read from a file etc) - or can I?

You're not thinking 4th-dimensionally, my friend! Includes in Classic ASP is
a way of sharing code among different pages. In OOP, you would use classes
to do that. Don't think "code," think "objects."

--
HTH,
Kevin Spencer
..Net Developer
Microsoft MVP
Neither a follower
nor a lender be.
 
T

tshad

Kevin Spencer said:
You're not thinking 4th-dimensionally, my friend! Includes in Classic ASP
is
a way of sharing code among different pages. In OOP, you would use classes
to do that. Don't think "code," think "objects."

I am trying.

My question is why doesn't it work?

It should work?

I am going to (and have already started playing with the user control), but
this should still work and I need to find out why it doesn't as it also
doesn't work for some other tags.

I was trying to make this work with another page where I was generating the
HTML page by writing out the html code to a file I was email. The problem
was I got the same type of error trying to set the string to another tag (I
think it was the script tag).

Something is causing me to not be able to set up a string with these tags.

Thanks,

Tom.
 
K

Kevin Spencer

My question is why doesn't it work?

Why doesn't what work?

--
HTH,
Kevin Spencer
..Net Developer
Microsoft MVP
Neither a follower
nor a lender be.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,065
Latest member
OrderGreenAcreCBD

Latest Threads

Top