2012-07-19 85 views
5

我有多少本地HTML页面。我想在Web浏览器控件中显示这些本地HTML页面。当我添加新页面时,它应该附加到前一页。如何在C#中的WebBrowser控件中加载本地HTML页面

这是在运行时的显示文件下载弹出和Web浏览器是空的设置地址

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

但示例代码。

+0

你的filepath [i]变量是什么?如果它是本地文件,则在它们前面追加“file://”。也不应该使用网络浏览器。导航()功能? – 2012-07-19 12:15:40

回答

0
webrowser.Navigate(filepath[i]); 

类似的东西我记得......;)

18

您可以加载一个页面

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

甚至像

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

但如果你有图片,css或js在相对路径中,请使用

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

感谢Mobel。它现在工作,但它不能显示图像。 – Mayuresh 2012-07-19 12:37:39

+0

如果你想加载一个带有相关图片的HTML,可以使用Navigate方法,比如var uri = new Uri(filepath); webBrowser1.Navigate(uri); – 2012-07-19 12:44:35

+1

如果您正在寻找类似这些html文件作为解决方案的一部分而不是某个文件夹,那么可以将这些html和相关文件作为内容和属性更改为“复制到输出目录”:复制始终选项。并像字符串一样加载curDir = Directory.GetCurrentDirectory(); var url = new Uri(String.Format(“file:/// {0}/{1}”,curDir,“test.html”)); webBrowser1.Navigate(url); – 2012-07-19 12:59:05