2012-07-19 13 views
5

Ho un numero di pagine HTML locali. Voglio visualizzare queste pagine HTML locali nel controllo del browser Web. Quando aggiungo una nuova pagina dovrebbe essere aggiunta alla pagina precedente.Come caricare pagine HTML locali nel controllo WebBrowser in C#

Ecco il codice di esempio per l'URL impostazione

for(int i=0; i<=filecount; i++) 
    web-browser.Url = new Uri(filepath[i]); 

Ma durante la sua fase di esecuzione che mostra il Download del file pop-up e browser web è vuota.

+0

Cosa c'è nel filepath [i] variabile? Se si tratta di file locali, aggiungere "file: //" davanti a essi. Inoltre non dovresti usare la funzione web-browser.Navigate ()? –

risposta

0
webrowser.Navigate(filepath[i]); 

una cosa del genere mi ricordo ...;)

18

Si potrebbe caricare una singola pagina come

FileStream source = new FileStream(filepath, FileMode.Open, FileAccess.Read); 
webBrowser1.DocumentStream = source; 

o anche come

string html = File.ReadAllText(filepath); 
webBrowser1.DocumentText = html; 

Ma se avete le immagini , css o js nei relativi percorsi, utilizzare

Uri uri = new Uri(filepath); 
webBrowser1.Navigate(uri); 
+1

Grazie Mobel. Funziona ora. Ma non è in grado di mostrare le immagini. – Mayuresh

+0

Se si desidera caricare un html con immagini correlate, utilizzare il metodo Navigate come var uri = new Uri (filepath); webBrowser1.Navigate (uri); –

+1

Se stai cercando qualcosa del genere, quei file html come parte della tua soluzione invece di qualche cartella, puoi quei file html e relativi al tuo progetto come contenuto e nelle proprietà cambiare in "copia nella directory di output": copia sempre l'opzione . e caricarlo come stringa curDir = Directory.GetCurrentDirectory(); var url = new Uri (String.Format ("file: /// {0}/{1}", curDir, "test.html")); webBrowser1.Navigate (url); –

Problemi correlati