tim*_*ker 2 html vb.net webbrowser-control
我正在尝试将一个本地HTML文件显示在WebBrowserVB.NET程序中.我正在使用下面的代码,但它似乎不起作用,我无法弄清楚原因:
'first method
WebBrowser1.Navigate(@".\index.html");
'second method
HTML = "normal"
WebBrowser1.Document.Body.InnerHtml = HTML
Run Code Online (Sandbox Code Playgroud)
当我去运行它时,第一个方法在Debug控制台中产生错误"".如果我试着用它@,我得到一个空的白页.但是,如果我更改了地址,所以我知道它的URL已损坏,我收到一条404消息,这使得它看起来好像正在查找文件而不是渲染文件?
第二种方法与第一种方法相同,只是没有产生错误,就像它找到文本但什么都不做.
在这两个示例中,我尝试了以下HTML和纯文本变体:
<b>bold</b>normal
Run Code Online (Sandbox Code Playgroud)
和
normal
Run Code Online (Sandbox Code Playgroud)
为什么这个简单的代码不起作用?
该@件事是C#; 你不需要它用于VB.NET,因为VB.NET有一个不同的(读取:更好的:-))转义字符串系统.所以,删除@前面的字符串,并删除;你的行后,这也是C#.
问题是,因为你正在使用a WebBrowser,所以你需要一个file:///URL.有一对夫妇的事情可以做,这是最简单的可能是你点WebBrowser到about:blank,并把文件直接,就像这样:
WebBrowser1.Document.Write(IO.File.ReadAllText("index.html"))
Run Code Online (Sandbox Code Playgroud)
例如.您还可以获取文件的绝对路径,并使用:
WebBrowser1.Navigate("file:///" & IO.Path.GetFullPath(".\index.html"))
Run Code Online (Sandbox Code Playgroud)