2013-10-30 55 views
0

由於某種原因,這不適合我,我不確定。我試圖做一個設爲首頁按鈕爲我的瀏覽器,這是檢查是否一個頁面設置的代碼,然後轉到這個頁面:.ToString錯誤(vb.net)

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,錯誤是:「類型'字符串'的值不能轉換爲'System.Uri'。」

感謝您的幫助!

+0

如何聲明WebBrowser1? – bendataclear

回答

0

WebBrowser.Url屬性接受一個URI對象不是字符串:

Property Value Type: System.Uri A Uri representing the URL of the current document.

所以,你必須使用Uri類的一個實例:

Provides an object representation of a uniform resource identifier (URI) and easy access to the parts of the 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 
0

嘗試有像這樣使用

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

非常簡單:您的WebBrowser1.Url不是一個字符串,而是一個URL - 一個URL不是一個字符串,但行爲不正常。用於檢查URL的有效性的選項。

你可以構造一個新的URL來繞過這個問題: WebBrowser1.Url =新的URI(HomepageInfo.ToString)

但這可能會失敗,給定字符串不是一個有效的URL。