我想覆盖事件EventArgsWebBrowserDocumentCompleted。我无法创建个人事件处理程序,因为我不知道何时触发事件DocumentDownloadCompleted。我要添加到EventArgs的数据是OriginalPageLink

我正在尝试下载页面,但是将我重定向到登录页面(仅一次)。我已经设置了一种登录方式,但是随后我想重新尝试导航到原始页面,但是我已经没有了。我可以设置一个全局变量来跟踪每次该链接,但是,有没有办法编辑EventArgs?我还需要修改WebBrowserDocumentCompletedEventHandler吗?

我的代码看起来像

private void Submit_Click(object sender, EventArgs e)
{
    webBrowser1 = new WebBrowser();
    webBrowser1.AllowNavigation = true;
    webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted);
    webBrowser1.Navigate(OriginalPageLink);
}

private void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    if (e.Url.ToString().Contains("login.smlogin.ibb.ubs.net")) {
        loginWithWEBSSO(webBrowser1);
        webBrowser1.Navigate(***e.OriginalPageLink***);
    } else {
        string mybody = webBrowser1.Document.Body.InnerText;
    }
}


预先感谢您的任何建议。

马可

最佳答案

您只需要闩锁WebBrowser.Navigating事件即可使用某种集合来跟踪导航历史记录。登录之前,请返回上一页。 Navigate事件将触发导航并删除先前的URL,因此您需要管理集合或仅限制在您的状态下管理哪些项目。

关于c# - C#-覆盖WebBrowserDocumentCompletedEventHandler的eventargs,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8881432/

10-11 05:06