2012-07-19 24 views
5

Mam wiele lokalnych stron HTML. Chcę wyświetlić te lokalne strony HTML w kontrolce przeglądarki. Kiedy dodaję nową stronę, powinien zostać dołączony do poprzedniej strony.Jak załadować lokalne strony HTML w formancie WebBrowser w C#

Oto przykładowy kod dla adresu URL ustawień

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

Ale w czasie wykonywania jego pokazujący pobieranie plików pop-up i przeglądarka internetowa jest pusty.

+0

Co zawiera zmienna "filepath [i]? Jeśli są to pliki lokalne, dołącz najpierw "file: //". Nie powinieneś także korzystać z funkcji przeglądarki internetowej? Nawiam ()? –

Odpowiedz

0
webrowser.Navigate(filepath[i]); 

coś takiego pamiętam ...;)

18

Można załadować pojedynczą stronę jako

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

lub nawet jak

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

ale jeśli masz zdjęć , css lub js we względnych ścieżkach, użyj

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

Dzięki Mobel. Działa teraz. Ale nie jest w stanie pokazać obrazów. – Mayuresh

+0

Jeśli chcesz załadować html z powiązanymi obrazami, użyj metody Navigate, jak var uri = new Uri (ścieżka do pliku); webBrowser1.Navigate (uri); –

+1

Jeśli szukasz czegoś takiego, te pliki html jako część twojego rozwiązania zamiast jakiegoś folderu, możesz te html i powiązane pliki do twojego projektu jako zawartość i we właściwościach zmienić na "copy to output directory": copy always option . i załaduj go jak ciąg curDir = Directory.GetCurrentDirectory(); var url = new Uri (String.Format ("file: /// {0}/{1}", curDir, "test.html")); webBrowser1.Navigate (url); –

Powiązane problemy