Percorsi File sito WEB

giovedì 03 aprile 2008 - 16.39

13600210 Profilo | Newbie

Ho realizzato un sito WEB con VS2005.
In locale tutto oK.
Su aruba non mi riempie i nodi della treview.
E' sicuramente una questione di percorso file system.

Questo è il codice che funziona in locale:
Dim file As String
tw.Nodes.Clear()
Dim node As TreeNode
Dim nodew As TreeNode 'word
Dim nodex As TreeNode 'excel
Dim nodep As TreeNode 'pdf
Dim nodea As TreeNode 'altri
Dim nodef As TreeNode 'file
node = New TreeNode("Scelta Documenti")
tw.Nodes.Add(node)
nodew = New TreeNode("WORD")
nodew.ImageUrl = "~\immagini\loghi\word.png"
node.ChildNodes.Add(nodew)
nodex = New TreeNode("EXCEL")
nodex.ImageUrl = "~\immagini\loghi\excel.png"
node.ChildNodes.Add(nodex)
nodep = New TreeNode("PDF")
nodep.ImageUrl = "~\immagini\loghi\adobe.png"
node.ChildNodes.Add(nodep)
nodea = New TreeNode("altri")
nodea.ImageUrl = "~\immagini\loghi\testo.png"
node.ChildNodes.Add(nodea)
'------------------------------
file = Dir("\miosito\documenti\" & Session("repertorio") & "\*.*")
While file <> ""
nodef = New TreeNode(file)
nodef.NavigateUrl = "~\documenti\" & Session("repertorio") & "\" & file
If InStr(file, ".doc") <> 0 Then
nodew.ChildNodes.Add(nodef)
Else
If InStr(file, ".xls") <> 0 Then
nodex.ChildNodes.Add(nodef)
Else
If InStr(file, ".pdf") <> 0 Then
nodep.ChildNodes.Add(nodef)
Else
nodea.ChildNodes.Add(nodef)
End If
End If
End If
file = (Dir())
End While

Come posso risolverlo?
Salutissimi

amelix Profilo | Expert

Usa Server.MapPath per avere il percorso delle cartelle che ti servono.

Andrea - http://www.MelisWeb.eu/
CMS - http://www.WebOrama.it/

PS. Che brutta immaginina che hai!!!

13600210 Profilo | Newbie

Grazie amelix per la risposta, fra un pò seguirò il tuo consiglio e ti farò sapere.
Per quanto riguarda il tuo PS ti dico che sono interista, perchè esserlo riguarda un modo di essere : sfigato, orgoglioso .... un pò fuori dagli schemi e non allineato su uno stereotipo edonista seguace delle mode e delle fortune del momento ..........

Risposta da interista ????

amelix Profilo | Expert

OT: I miei migliori amici sono interisti... anche se negli ultimi anni (x l'esattezza 3 ) li vedo sotto una luce diversa...
Andrea - http://www.MelisWeb.eu/
CMS - http://www.WebOrama.it/

13600210 Profilo | Newbie

Risolto!
Server.MapPath deve essere usato solo ed esclusivamente per ricavare file da una directory ed inserirne il nome nella listbox, ma non si presta come ImageUrl.
Specifico con l'esempio del mio codice:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
'riempio con un'immagine vuota
foto.ImageUrl = "documenti" & "\bianco.png"
file = Dir(Server.MapPath("documenti" & "\" & Session("repertorio") & "\foto") & "\*.*")
While File <> ""
listafoto.Items.Add(File)
File = (Dir())
End While
nfoto.Text = listafoto.Items.Count
nindice.Text = 0
mostrafoto()
End If
End Sub
Sub mostrafoto()
'Se c'è una foto nella listbox a quell'indice la visualizzo altrimenti di nuovo foto bianca
If CInt(nindice.Text) < listafoto.Items.Count Then
foto1.ImageUrl = "documenti" & "\" & Session("repertorio") & "\foto\" & listafoto.Items(CInt(nindice.Text)).Text
foto.ImageUrl = "documenti" & "\" & Session("repertorio") & "\foto\" & listafoto.Items(CInt(nindice.Text)).Text
Else
foto1.ImageUrl = "documenti" & "\bianco.png"
foto.ImageUrl = "documenti" & "\bianco.png"
End If
......
......

Praticamente per riempire la listbox devo per forza utilizzare il server.MapPhpath. Per richiamare e visualizzare la foto invece non devo utilizzarlo perchè non riesce a risolverlo,ma devo utilizzare semplicemente il percorso senza .\ ..\ o tilde.
Strano ma è così.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5