.ToString Error(vb.net)

时间:2013-10-30 12:28:04

标签: vb.net compiler-errors

出于某种原因,这对我不起作用,我不确定。我正在尝试为我的webbrowser创建一个Set Home Page按钮,这是检查页面是否已设置的代码,然后转到页面:

    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'。”

感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

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

  

属性值类型:System.Uri表示URL的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

答案 1 :(得分:0)

尝试必须像这样使用

WebBrowser1.Url = new Uri(HomepageInfo.ToString);

答案 2 :(得分:0)

非常简单:你的WebBrowser1.Url不是一个字符串,而是一个URL - 一个URL不是一个字符串,但是行为不合适,例如:用于检查URL有效性的选项。

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

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