我想覆盖事件EventArgs
的WebBrowserDocumentCompleted
。我无法创建个人事件处理程序,因为我不知道何时触发事件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/