30. december 2003 - 19:03Der er
29 kommentarer og 1 løsning
Hvordan får man også vist undermapper?
Hejsa
Jeg bruger denne kode til at finde billeder i en mappe, men jeg kunne godt tænke mig at den også viser de mapper som ligger i mappen, og at man kan åbne dem, ved at klikke på dem.
Kode.... <% var fso = Server.CreateObject('Scripting.FileSystemObject'); var frm = new Enumerator(fso.GetFolder(Server.MapPath("/kif/" + Request("PIC"))).Files); while(!frm.atEnd()){ Response.Write('<tr><td style="width=150px" class="clsLst"><a href="#" onclick="java script:se(\''+frm.item().Name+'\');return false">'+frm.item().Name+'</a></td><td style="width=175px" class="clsLst">'+frm.item().Type+'</td></tr>'); frm.moveNext(); } %>
Kan du så ikke bare i samme omgang skrive et link ud for hver mappe, og når man følger linket kører scriptet igen, bare med den valgte undermappe som hovedfolder...?
Nu virker det på en måde, men stadig ikke helt. Jeg bruger dette i en editor, og når jeg åbner siden igennem den, viser den ikke undermapperne. Men hvis jeg åbner siden for sig selv, så viser en fint undermapperne.
Kan det have noget at gøre med at der bliver brugt querystring?
Nå, sådan en. Jamen, så kan det vel sagtens være på grund af querystringene, men de er altså lidt svære at komme uden om, medmindre du vil have scriptet liggende i hver eneste mappe. Det kan du selvfølgelig også og så bare linke til det, men det andet her er vel lidt nemmere...?
For mig er det endelig lige meget om det ligger i hver mappe, der er nemlig ikke så mange mapper. Men hvis det vil virke, så kan vi god køre det på den måde.
Her har jeg kaldt siden med scriptet for oversigt.asp. Den skal så ligge i hver mappe - og husk at rette startDir, så det passer (f.eks. /kif/billeder/mappe1/).
Og så kommer oversigt.asp altså også med i oversigten, men det kan du selvfølgelig komme uden om med en enkelt if.
Det virker desværre også kun delvis :-( Der er samme problem med at der ikke sker noget når jeg klikker på mappen når jeg er i editoren.
Har du nogle idéer til hvad man kan gøre? Jeg ved godt at jeg er meget besværgelig. Jeg ligger også meget gerne de sidste 50 point oveni, hvis du er villig til at hjælpe?
Hmm... det her er jo bare almindelige links, så der burde ikke være noget bøvl. Hvis vi lige simplificerer det lidt, så er det lettere at finde ud af hvad det er der fejler.
Den skal ikke vise billedet, den skal sætte url'en på billedet ned i et tekstfelt, så man kan sætte det ind i editoren. Det virker fint nok på hovedmappen, men ikke i undermappen.
Vil det være nemmere hvis du fik nogle af filerne?
//Hvis inSubfolder er ja, så udskriv link med kald af funktionen til at gå en folder op. if(inSubFolder=="ja") { Response.Write(' <a href="#" onClick="fjernSubDir(\''+strSubDir+'\',\''+startDir+'\');"><img src="img/folderUp.gif" border="0"> gå en folder up</a>'); }
var fso = Server.CreateObject('Scripting.FileSystemObject');
var folders = new Enumerator(fso.GetFolder(Server.MapPath(dir)).SubFolders);
var frm = new Enumerator(fso.GetFolder(Server.MapPath(dir)).Files); while(!frm.atEnd()){ Response.Write('<tr><td style="width=150px" class="clsLst"><a href="#" onclick="java script:overfoerFilnavn(\''+frm.item().Name+'\',\''+dir+'\');return false">'+frm.item().Name+'</a></td><td style="width=175px" class="clsLst">'+frm.item().Type+'</td></tr>'); frm.moveNext(); }
%>
Funktionen fjernSubDir:
function fjernSubDir(sti,dir) { sidste = sti.lastIndexOf('\/'); sti = sti.substring(0,sidste); sidste = sti.lastIndexOf('\/'); if(sidste<0) { sti = ""; } else { sti = sti.substr(0,sidste); } //document.write(dir+sti); location = '?PIC=<%=Request('PIC')%>&subDir='+sti; }
Det kan sikkert laves med pænere kode. Bl.a. kan jeg ikke få testet på om subDir er undefined i første hug, så der er lidt lapning der. Men det virker da, om ikke andet.
Så er der lige den tvist, at det hele foregår i en ModalDialog. Der er indsat en 100% i-frame for at gøre navigationen mulig. Se spg: http://www.eksperten.dk/spm/343224
deeflate -> Tusinde tak for hjælpen. Det er virkeligt dejligt at du ville bruge så meget tid på at hjælpe mig.
Tak for det, og god weekend.
Synes godt om
Ny brugerNybegynder
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.