Lista filer som länkar i ASP.NET?
8 svar · 544 visningar · startad av tstone
jo....
Jag har med lite hjälp fått fram nedanstående kod för VB...
<%@ Page Language="VB" Debug="True" %>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.IO" %>
<script language="VB" runat="server">
Sub Page_Load(Sender as Object, E as EventArgs)
dim storefile As directory
Dim directory As String
Dim files As String()
Dim File As String
files = storefile.GetFiles("C:\Nicklas\websites\admin", "*.*")
For Each File In files
response.write(File & "<BR>")
Next
End Sub
</script>
Vilken genererar ett svar där varje fil listas med hela sökvägen...
...men eftersom det skall bli enkla länkar på en webbsida så vill jag ju bara ha den relativa sökvägen.
:D Jag KAN inte sånthäringa...
kika in klassen FileInfo
<%@ Page Language="VB" Debug="True" %>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.IO" %>
<script language="VB" runat="server">
Sub Page_Load(Sender as Object, E as EventArgs)
dim storefile As directory
Dim directory As String
Dim files As String()
Dim File As String
files = storefile.GetFiles(HttpContext.Current.Server.MapPath("/"), "*.*")
For Each File In files
Dim _fi As New FileInfo(File)
response.write(_fi.Name & "<BR>")
Next
End Sub
</script>
PS ... ändrade sökvägen .... DS
cya,
/PatrikB
Nu har jag kommit en bit till....
men sedan blev det stopp - på grund av bristande kunskap....
<%@ Page Language="VB" Debug="True" %>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.IO" %>
<script language="VB" runat="server">
Sub Page_Load(Sender as Object, E as EventArgs)
dim storefile As directory
Dim directory As String
Dim files As String()
Dim File As String
Dim Newdir(4)
'Newdir(0) = "C:\Nicklas\websites\Lane4_04_multiL\admin"
'Newdir(1) = "C:\Nicklas\websites\Lane4_04_multiL\images"
'Newdir(2) = "C:\Nicklas\websites\Lane4_04_multiL\swe"
'Newdir(3) = "C:\Nicklas\websites\Lane4_04_multiL\eng"
'Newdir(4) = "C:\Nicklas\websites\Lane4_04_multiL\library"
'For each x in Newdir
Newdir = "C:\Nicklas\websites\Lane4_04_multiL\admin"
files = storefile.GetFiles(Newdir,"*.*")
For Each File In files
Dim _fi As New FileInfo(File)
response.write("<A href='"& _fi.Name & "' target='_blank'>" & _fi.Name & "</A>" & " | ")
Next
response.write(parent)
End Sub
</script>
På detta sätt får jag en massa fina länkar och allt är väl - om jag nu skulle vilja lista igenom ett antal olika mappar och presentera dem hur gör jag då? Jag har kikat åt For Each Next men fick det aldrig att sparka igång.
Någon som vet? Hjälp!
Jag har ej tid att koda just nu, men kolla in FileInfo Class @ MSDN och sök på Google. Lycka till! :D
Har du testat med GetDirectories i stället för Newdir?
<%@ Page Language="VB" Debug="True" %>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.IO" %>
<script language="VB" runat="server">
Sub Page_Load(Sender as Object, E as EventArgs)
dim storefile As directory
Dim directory As String
Dim files As String()
Dim File As String
files = storefile.GetFiles([b]GetDirectories[/b],"*.*")
For Each File In files
Dim _fi As New FileInfo(File)
response.write("<A href='"& _fi.Name & "' target='_blank'>" & _fi.Name & "</A>" & " | ")
Next
response.write(parent)
End Sub
</script>
Hoppas att det fungerar, och att jag inte yrar i morgonmössan. ;)
här kommer lite kod för hur du väljer vilka foldrar som ska vara med i listningen:
<%@ Page Language="VB" Debug="True" %>
<%@ import Namespace="System" %>
<%@ import Namespace="System.IO" %>
<script runat="server">
Sub Page_Load(Sender as Object, E as EventArgs)
dim storefile As directory
Dim directory As String
Dim files As String()
Dim File As String
'## -- folders to list, relative to wwwroot --
Dim _folders As String() = {"/","/admin/","/admin/bin/", "/classes/"}
Dim _folder As String
For Each _folder IN _folders
files = storefile.GetFiles(HttpContext.Current.Server.MapPath(_folder), "*.*")
For Each File In files
Dim _fi As New FileInfo(File)
response.write(_folder & _fi.Name & "<BR>")
Next
Next _folder
End Sub
</script>
<html>
<head>
</head>
<body>
</body>
</html>
cya,
/PatrikB

