Calling include files in response.write, or do while loops

N

.Net Sports

I want to include some asp if statements inside a do until loop,
predicated on the recordset going until EOF. I do not have any < % %>
delimiters inside the include file. The below doesnt show the character
I want to display:

<% do until rs.eof
response.write rs("position")
<!-- #include file="inc_.asp" -->
loop %>

...while hard coding the character with another response.write statement
will.

Thanks for any insights
..net sports
 
A

Aaron [SQL Server MVP]

Well, first off, I don't see an rs.movenext, nor do you break out of <% %>
to call the #include file (<!--#include does not belong inside <% %>
delimiters!). See what happens when you change it to:

<%
do WHILE NOT rs.eof
response.write rs("position")
%>
<!-- #include file="inc_.asp" -->
<%
rs.movenext
loop
%>

Next, why not #include a file once (or not at all), and have a function.
Then not only will you avoid having this #include file referenced 8000
times, you can also make the function respond directly to differences
between rows in your resultset. Much smoother architecture that way...

e.g.

inc_.asp

<%
function writeCharacter()
response.write "bleh"
end function
%>

Now your loop becomes:

<%
do while not rs.eof
response.write "<br>" & rs("position")
writeCharacter()
rs.movenext
loop
%>

I don't see the point of repeating an #include directive n times with the
same file, it doesn't seem to make sense to me at all.
 
J

Jonathan Dodds

<%
do WHILE NOT rs.eof
response.write rs("position")
%>
<!-- #include file="inc_.asp" -->
<%
rs.movenext
loop
%>

The #include won't be performed N times. It will be performed once. It's a
textual include, not an ASP script command. Nevertheless the point about not
doing this (for other reasons) is well taken.
 
A

Aaron [SQL Server MVP]

Right, important distinction. The file isn't #included n times, but the
code inside is still processed by the ASP engine n times (regardless of
whether it has ASP code or not). If it contains HTML, then that part it is
rendered by the browser n times.

Try this example:

<% for I = 1 to 5 %>
<!--#include file=bar.asp-->
<% next %>

Bar.asp:

<% response.write i & "<p>" %>

All in all, probably not *that* much different from calling a function, but
much more difficult to manage, IMHO.
 

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,755
Messages
2,569,536
Members
45,013
Latest member
KatriceSwa

Latest Threads

Top