Avatar billede webblaster Nybegynder
23. januar 2006 - 12:38 Der er 8 kommentarer og
1 løsning

create asp file via asp

Hej jeg har et lille problem, jeg prøver på at lave en asp file via en anden asp fil udfra content fra en DB. Den asp side som laver den anden ser så dan her ud:

dim top, generel, bottom, Helefil
top = "<% @LANGUAGE=""VBSCRIPT"" CODEPAGE=""1252""%>"
top = top & "<% Content_Id = request.QueryString(""Id"")"
top = top & " %&gt; <br>"
top = top & "&lt;% select case Content_Id"
top = top & "%&gt; <br>"


generel = "&lt;% Case """
generel = generel & "Content_Id"
generel = generel & """ %&gt;"
generel = generel & "Include_File"
bottom = "&lt;% case else" & "%&gt; <br> &lt;%" & "end select %&gt;" & "<br>"

Helefil = top & generel & bottom




set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.CreateTextFile(Server.Mappath("include_content_asp.asp"),true)
f.WriteLine("" & Helefil & "")
f.Close
set f=nothing
set fs=nothing

Response.write("file createt")

og resultatet bliver :

&lt;% @LANGUAGE="VBSCRIPT" CODEPAGE="1252"%&gt;

&lt;% Content_Id = request.QueryString("Id") %&gt;
<br>&lt;%
select case Content_Id
%&gt; <br>
&lt;% Case "Content_Id" %&gt;
Include_File
&lt;% case else
%&gt;
<br>
&lt;%
end select
%&gt;<br>

men den skulle have været:

<% @LANGUAGE="VBSCRIPT" CODEPAGE="1252" %>

<% Content_Id = request.QueryString("Id") %>;
<br>
<%
select case Content_Id
%> <br>
<% Case "Content_Id" %>
Include_File
<% case else
%>
<br>
<%
end select
%><br>

jeg har prøvet at bytte &lt;% ud med <% og %&gt; ud med %>

men så får jeg denne fejl :

Microsoft VBScript compilation  error '800a0409'

Unterminated string constant

/admin/test.asp, line 12

top = "<% @LANGUAGE=""VBSCRIPT"" CODEPAGE=""1252""
--------------------------------------------------^

så mit spørgsmål er, er der nogen der ved hvordan script tagsende skal skrives så de kommer til at funger på den oprettet asp side!!
Avatar billede fennec Nybegynder
23. januar 2006 - 12:46 #1
Nu har jeg aldrig prøvet at skabe ASP sider gennem en ASP side, men som minimum vil jeg mene at koden skal stå som:
top = "<% @LANGUAGE=""VBSCRIPT"" CODEPAGE=""1252""%>"

Det skal i hvertfal ikke stå som &lt;

ps. Desuden havde du ikke afsluttet din streng rigtigt, hvorfor du får en "Unterminated string constant" fejl.
Avatar billede webblaster Nybegynder
23. januar 2006 - 13:02 #2
hvis jeg skriver dette:

<%
dim top, generel, bottom, Helefil
top = "<%@LANGUAGE=""VBSCRIPT"" CODEPAGE=""1252""%>"
top = top & "<% Content_Id = request.QueryString(""Id"")"
top = top &  "%> <br>"
top = top & "<% select case Content_Id"
top = top & "%> <br>"


generel = "<%  Case """
generel = generel & "Content_Id"
generel = generel & """ %>"
generel = generel & "Include_File"
bottom = "<% case else %> <br>  <% end select  %> <br>"

Helefil = top & generel & bottom




set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.CreateTextFile(Server.Mappath("include_content_asp.asp"),true)
f.WriteLine("" & Helefil & "")
f.Close
set f=nothing
set fs=nothing

Response.write("file createt")
%>

er det at jeg får en "Unterminated string constant" fejl.
det er %> tag'et i den første linje i top variablen der giver den ?
Avatar billede fennec Nybegynder
23. januar 2006 - 13:13 #3
Ok, det giver et fortolker problem, men det kan løses ved at dele %> op:
top = "<%@LANGUAGE=""VBSCRIPT"" CODEPAGE=""1252""%"&">"
Avatar billede webblaster Nybegynder
23. januar 2006 - 13:27 #4
Kanon der vad den smid et svar så du kan få points
Avatar billede polle007 Nybegynder
23. januar 2006 - 13:30 #5
Man kan også escape asp slut-tagget

top = "<%@LANGUAGE=""VBSCRIPT"" CODEPAGE=""1252""%\>"
Avatar billede fennec Nybegynder
23. januar 2006 - 13:32 #6
.o) <-- One Eyed Jack
Avatar billede webblaster Nybegynder
23. januar 2006 - 13:36 #7
et lille side spørgsmål kan du se nogle fejl i dette code:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<% Content_Id = request.QueryString("Id")%>
<br>
<% select case Content_Id%>
<br>
<%  case "1"%>

Include_File
<% case else %>
<br>
<% end select%>
<br>

det er det der kommer ud på den anden side når den første fil bliver kørt og den giver denne fejl :
Microsoft VBScript compilation  error '800a03ea'

Syntax error

/admin/include_content_asp.asp, line 1

case "1"
Avatar billede fennec Nybegynder
23. januar 2006 - 13:50 #8
Der må af en eller anden grund ikke være et mellemrum mellem select case og den første case. Fjern den <br> du har der:
<% select case Content_Id%>
<%  case "1"%>
Avatar billede webblaster Nybegynder
23. januar 2006 - 13:55 #9
det virker jeg har lige oprettet det som et selvstændigt spørgsmål "select case problemer" gå ind og ligge et svar så får du også de points ;O)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester