2

当我在 Visual Studio for Windows Phone 2010 中创建基本应用程序以链接到 Web 浏览器然后输入这个

private void button1_Click(object sender, RoutedEventArgs e)
{
    string site = textBox1.Text;    

    webBrowser1.Navigate(new Uri(site, UriKind.Absolute));
}

当我构建应用程序时,它显示为成功。但是,当我运行调试并且模拟器启动时。当我按下按钮导航到某个 URL 说 google.com 这是我在文本框 1 中提到的文本时,会发生错误

System.SystemException 发生未知错误。错误:80004005

4

2 回答 2

3

Uri唯一具有完整 URL的工作以提到的方案开头,http://www.msn.com 我认为您应该使用Uri.TryCreate()

string site = textBox1.Text;
Uri uri;
if (Uri.TryCreate(site, UriKind.Absolute, out uri))
{
    webBrowser1.Navigate(uri);
}
于 2012-07-12T17:56:24.767 回答
2

URI 需要方案类型(例如 http://)。没有它,你很可能会得到一个看起来像相对 URI 的东西。

使用URI builder,当未指定方案时默认为 http :

UriBuilder builder = new UriBuilder(textBox1.Text);
webBrowser1.Navigate(builder.Uri);
于 2012-07-12T18:11:44.693 回答