0

出于某种原因,这对我不起作用,我不确定。我正在尝试为我的网络浏览器制作一个设置主页按钮,这是检查是否设置了页面的代码,然后转到该页面:

    Dim HomepageInfo As String
    If IO.File.Exists(Environment.SpecialFolder.ApplicationData & "\Homepage.Info") = True Then
        HomepageInfo = IO.File.ReadAllText(Environment.SpecialFolder.ApplicationData & "\Homepage.Info")
        WebBrowser1.Url = HomepageInfo.ToString
    Else
        'Create a File with a Default Homepage (www.google.com)
        IO.File.WriteAllText(Environment.SpecialFolder.ApplicationData & "\Homepage.Info", "www.google.com")
    End If

这显示为错误:HomepageInfo.ToString,错误是:“'String' 类型的值无法转换为'System.Uri'。”

谢谢你的帮助!

4

3 回答 3

0

WebBrowser.Url属性接受 uri 对象而不是字符串:

属性值类型:System.Uri 表示当前文档 URL 的 Uri。

所以你必须使用一个Uri类的实例:

提供统一资源标识符 (URI) 的对象表示并轻松访问 URI 的各个部分。

代码:

Dim HomepageInfo As String
If IO.File.Exists(Environment.SpecialFolder.ApplicationData & "\Homepage.Info") = True Then
    HomepageInfo = IO.File.ReadAllText(Environment.SpecialFolder.ApplicationData & "\Homepage.Info")
    WebBrowser1.Url = New Uri(HomepageInfo.ToString)
Else
    'Create a File with a Default Homepage (www.google.com)
    IO.File.WriteAllText(Environment.SpecialFolder.ApplicationData & "\Homepage.Info", "www.google.com")
End If
于 2013-10-30T12:32:50.623 回答
0

尝试必须像这样使用

WebBrowser1.Url = new Uri(HomepageInfo.ToString);
于 2013-10-30T12:32:57.223 回答
0

很简单:您的 WebBrowser1.Url 不是字符串,而是 URL - URL 不是字符串,但行为不同,例如用于检查 URL 有效性的选项。

你可以构造一个新的 URL 来规避这个问题:WebBrowser1.Url = new Uri(HomepageInfo.ToString)

但这可能会失败,因为给定的字符串不是有效的 URL。

于 2013-10-30T12:34:18.083 回答