【问题标题】:WebBrowser.Navigate just... Isn'tWebBrowser.Navigate 只是...不是
【发布时间】:2013-08-05 04:51:14
【问题描述】:

我有这个代码:

private void goButton_Click(object sender, EventArgs e)
{
    web.Navigate(loginURL.Text + "/auth/login");
}

我有浏览器显示,它只是没有导航......它没有导航等等。

网址有效。

【问题讨论】:

  • 确实如此。需要更多信息来帮助您。
  • 这是 Windows 窗体吗?

标签: c# winforms webbrowser-control


【解决方案1】:

MSDN 是你的朋友。确保您有“http://”前缀并尝试使用 Navigate(Uri url) 重载。

// Navigates to the given URL if it is valid. 
private void Navigate(String address)
{
    if (String.IsNullOrEmpty(address)) 
         return;

    if (address.Equals("about:blank")) 
         return;

    if (!address.StartsWith("http://") && !address.StartsWith("https://"))
    {
        address = "http://" + address;
    }
    try
    {
        webBrowser.Navigate(new Uri(address));
    }
    catch (System.UriFormatException)
    {
        return;
    }
}

【讨论】:

    【解决方案2】:

    您需要处理网络浏览器的DocumentCompleted 事件。

    通过以下代码:

      private void goButton_Click(object sender, EventArgs e)
        {
          WebBrowser wb = new WebBrowser();
          wb.AllowNavigation = true;
    
          wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted);
    
          wb.Navigate(loginURL.Text + "/auth/login");
    
                  }
    
        private void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
          WebBrowser wb = sender as WebBrowser;
          // wb.Document is not null at this point
        }
    

    【讨论】:

    • 这与问题有什么关系? OP说它没有导航..而您的答案显示了导航后要做什么..
    猜你喜欢
    • 1970-01-01
    • 2013-08-24
    • 2013-09-21
    • 2011-09-03
    • 1970-01-01
    • 1970-01-01
    • 2016-03-23
    • 1970-01-01
    • 2022-06-16
    相关资源
    最近更新 更多