您可以测试 bar.text 是否已经以 http:// 开头,如下所示:
private void bargo_Click(object sender, RoutedEventArgs e)
{
string url = bar.Text;
if (!url.StartsWith("http://"))
{
url = "http://" + url;
}
web.Navigate(new Uri(url);
}
如果您的用户输入“https://”或“ftp://”(或 gopher://、irc://、ircs://、ftp://、news://、nntp://、worldwind ://, telnet://, svn://, git://, mms:// 和 mailto:) 这个方法仍然会添加“http://”并且失败。
更好的解决方案是将字符串传递给 web.Navigate() 而不是 uri。当您传入一个字符串时,WebBrowser 控件会像浏览器一样自动添加 http://。
private void bargo_Click(object sender, RoutedEventArgs e)
{
web.Navigate(bar.Text);
}
编辑:对于 Windows Phone 7
private void bargo_Click(object sender, RoutedEventArgs e)
{
web.NavigateToString(bar.Text);
}