如何获取页面当前导航到的URL(导航完成之前)

时间:2013-11-23 18:31:41

标签: c# visual-studio windows-phone-8 windows-phone

所以我有一个我在Windows Phone 8上构建的网络浏览器。我看到的大多数网络浏览器,如Chrome,Safari,Internet Explorer等,都会在页面加载时更新显示URL的文本框。我正在做的是在页面加载完成后更新它。我无法找到一种方法来做IE正在做的事情。 WP上的移动版IE确实在页面加载时更新了URL,但是我无法弄清楚这样做的代码。

我当前的代码,在浏览器完成导航后更新:

 private void myWebBrowserControl_Navigated(object sender, NavigationEventArgs e)
    {
        myProgressBar.Visibility = Visibility.Collapsed; //Not related to this.
        myURLTextbox.Text = myWebBrowserControl.Source.ToString();
    }

我尝试将代码抛入myWebBrowserControl_Navigating,但遇到了运行时错误。我这样做的原因是一些网站在加载时重定向。例如,网站http://www.mmo-champion.com/重定向到http://www.mmo-champion.com/content/。我希望myURLTextbox.Text识别重定向正在发生,所以我更喜欢在导航时更新

1 个答案:

答案 0 :(得分:1)

我在谷歌搜索的深处找到了答案。

解决方案是在myWebBrowserControl_Navigating下添加以下代码:

private void myWebBrowserControl_Navigating(object sender, NavigatingEventArgs e)
    { 
        myURLTextbox.text = e.Uri.ToString();
    }

我删除了我添加到myWebBrowserControl_Navigated的代码行,因为不再需要它。