Home All Groups Group Topic Archive Search About

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



Author
15 Mar 2005 8:19 PM
.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

Author
15 Mar 2005 8:35 PM
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.

--
Please post DDL, sample data and desired results.
See http://www.aspfaq.com/5006 for info.




Show quote
".Net Sports" <ballz2w***@cox.net> wrote in message
news:1110917982.643633.63650@l41g2000cwc.googlegroups.com...
> 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
>
Author
17 Mar 2005 4:11 AM
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.
Author
17 Mar 2005 4:20 AM
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.





On 3/16/05 11:11 PM, in article u2i2ecqKFHA.3***@TK2MSFTNGP15.phx.gbl,
Show quote
"Jonathan Dodds" <NO_REPLY> wrote:

>> <%
>>     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.
>
>

AddThis Social Bookmark Button