2012-07-19 22 views
5

Tôi có số trang HTML cục bộ. Tôi muốn hiển thị các trang HTML cục bộ này trong điều khiển trình duyệt Web. Khi tôi thêm trang mới, nó sẽ được thêm vào trang trước.Cách tải các trang HTML cục bộ trong điều khiển WebBrowser trong C#

Đây là đoạn mã mẫu cho các thiết lập Url

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

Nhưng trong thời gian chạy thấy nó Tệp Tải xuống bật lên và trình duyệt web trống.

+0

Có gì trong biến filepath [i] của bạn? Nếu đó là các tệp cục bộ, hãy thêm "tệp: //" vào trước chúng. Bạn cũng không nên sử dụng trình duyệt web.Navigate () có chức năng không? –

Trả lời

0
webrowser.Navigate(filepath[i]); 

một cái gì đó như thế tôi nhớ ...;)

18

Bạn có thể tải một trang duy nhất như

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

hoặc thậm chí như

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

Nhưng nếu bạn có hình ảnh , css hoặc js trong các đường dẫn tương đối, sử dụng

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

Cảm ơn Mobel. Làm việc của nó ngay bây giờ.Nhưng nó không thể hiển thị hình ảnh. – Mayuresh

+0

Nếu bạn muốn tải một html với các hình ảnh liên quan, hãy sử dụng phương thức Điều hướng như var uri = new Uri (filepath); webBrowser1.Navigate (uri); –

+1

Nếu bạn đang tìm kiếm một cái gì đó giống như, những tập tin html như một phần của giải pháp của bạn thay vì một số thư mục, bạn có thể html và các tập tin liên quan đến dự án của bạn như nội dung và trong tài sản thay đổi để "sao chép vào thư mục đầu ra": . và tải nó như chuỗi curDir = Directory.GetCurrentDirectory(); var url = new Uri (String.Format ("tệp: /// {0}/{1}", curDir, "test.html")); webBrowser1.Navigate (url); –

Các vấn đề liên quan