Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    305

    Proprietā NavigateURl del TreeNode

    Salve a tutti,

    il seguente codice esplora correttamente "Documenti\Biblioteca" a partire dalla direcorty corrente, ma non riesco ad aprire i files pdf che si trovano nelle foglie.

    codice:
    Imports System
    Imports System.Data
    Imports System.Configuration
    Imports System.Web
    Imports System.Web.Security
    Imports System.Web.UI
    Imports System.Web.UI.WebControls
    Imports System.Web.UI.WebControls.WebParts
    Imports System.Web.UI.HtmlControls
    Imports System.IO
    
    Partial Public Class _Default
        Inherits System.Web.UI.Page
    
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim Data As New Data_Ora
            DataOra.Text = Data.RappresentaData("D")
    
            If Not Page.IsPostBack Then
                Dim percorso = Request.PhysicalApplicationPath() & "Documenti\Biblioteca"
    
                TreeView1.Nodes.Add(New TreeNode("Biblioteca"))
                ottieniSottoCartelle(percorso, TreeView1.Nodes(0))
                ottieniFiles(percorso, TreeView1.Nodes(0), 0)
            End If
        End Sub
    
        Public Sub ottieniSottoCartelle(ByVal path As String, ByVal node As TreeNode)
            Dim cartelle() As String = Directory.GetDirectories(path)
            If cartelle.Length <> 0 Then
                ' per ogni sottocartella, aggiungi al TreeView e
                ' chiama ricorsivamente te stesso
                Dim cartella As String
                For Each cartella In cartelle
                    ' aggiungi il path relativo al TreeView
                    Dim cartella_da_inserire As String
                    cartella_da_inserire = cartella.Substring(cartella.LastIndexOf("\") + 1)
                    Dim NewNode As TreeNode = New TreeNode(Mid(cartella_da_inserire, 4, Len(cartella_da_inserire)))
                    node.ChildNodes.Add(NewNode)
                    ' trova le sue sottocartelle
                    ottieniSottoCartelle(cartella, NewNode)
                    ' trova i file
                    ottieniFiles(cartella, NewNode, 1)
                    ' chiudi il nodo corrente
                    NewNode.CollapseAll()
                Next
            End If
        End Sub
    
        Public Sub ottieniFiles(ByVal path As String, ByVal node As TreeNode, ByVal i As Integer)
            Dim files() As String = Directory.GetFiles(path)
            If files.Length = 0 And node.ChildNodes.Count = 0 Then
                Dim NewNode As TreeNode = New TreeNode("Directory is empty")
                node.ChildNodes.Add(NewNode)
            Else
                Dim file As String
                For Each file In files
                    ' aggiungi il file al TreeView
                    Dim file_da_inserire As String
                    file_da_inserire = file.Substring(path.Length + i)
                    Dim NewNode As TreeNode = New TreeNode(Mid(file_da_inserire, 10, Len(file_da_inserire) - 13))
                    NewNode.ImageUrl = "Immagini/doc.gif"
                    NewNode.Target = "_blank"
                    NewNode.NavigateURL = file
                    node.ChildNodes.Add(NewNode)
                Next
            End If
        End Sub
    
    End Class
    Qualcuno mi sā aiutare.

    Grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    che tipo di errore ti da?
    file non trovato?
    se si, controlla il file che cerchi di puntare!
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    305
    se clicco non succede nulla...

    in basso compare il percorso "file:///c:/..../pippo.pdf"

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    che non compare nulla non riesco a spiegarmelo,
    pero' ti posso dire che non e' corretto che compaia il path
    file:///

    dato che e' una web application, e i file non sono sul compiuter del client.
    quindi dovresti puntare a una aspx che prende in input (da una var in request ad esempio) il path del file,
    lo legge e lo invia al browser.

    curiosita, se come path del nodo metti ad esempio http://www.google.com
    la apre la finestra?
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    305
    si

    .... io vorrei che si aprisse direttamante ACROBAT con la possibilitā di aprire o salvare il file...

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    questo e' un altro quesito,
    ad ogni modo le possibilita sono 2:

    1) fai puntare direttamente al pdf, ma non con percorso C:\...
    ma in questo modo: /documenti/biblioteca/etc/ilFile.PDF
    in questo modo chiedi il file a iis, che te lo da con il content type di acrobat

    2) accedi a una pagina aspx, che modifica il contenttype (application/octet-stream) e il Content-disposition (attachment) e quindi carica il file e lo "sputa" al browser.

    intanto prova con la prima soluzione che e' la piu fat!
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    305
    ho il seguente errore:

    Errore server nell'applicazione '/ucig'

    Errore HTTP 404 - Not Found

    ...
    quando mi pongo sul file compare in basso (nella barra menu di IE) la scritta "javascript:__doPostBack('TreeView1','sBiblioteca\ \_pippo')"

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    ma quando ti dice notFound ti dice anche qual' e' la pagina che non trova!
    secondo me' e' quello che devi scoprire, perche probab crei il path in modo errato.

    ciao!
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.