我想覆盖 WebBrowserDocumentCompleted 事件的 EventArgs。我无法创建个人事件处理程序,因为我不知道何时应该触发事件 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 事件将触发 Navigating 并删除以前的 URL,因此您需要管理一个集合或仅限制在您的状态下管理哪些项目。
