webbrowser 登陆后返回当前页面问题,登录已经解决!100分速度结贴

问题描述

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Xml;usingmshtml;namespaceWindowsApplication1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();textBox_url.Text="http://bbs.jznews.com.cn/portal.php";InitListView();LoadUserData();}//privatevoidherfclick(stringurl)//{//for(inti=0;i<webBrowser1.Document.All.Count;i++)//{//if(webBrowser1.Document.All[i].TagName=="A"&&webBrowser1.Document.All[i].GetAttribute("href").ToString().Trim()==url)//{//webBrowser1.Document.All[i].InvokeMember("click");//引发”CLICK”事件//break;//}//}//}privatevoidwebBrowser1_DocumentCompleted(objectsender,WebBrowserDocumentCompletedEventArgse){webBrowser1.ScriptErrorsSuppressed=true;if((e.Url.ToString().ToLower().Equals("http://bbs.jznews.com.cn/portal.php"))//登陆页面||(e.Url.ToString().ToLower().Equals(""))){HtmlElementtextboxUserId=this.webBrowser1.Document.GetElementById("ls_username");//如果没有ID,用Name获取//HtmlElementtextboxUserId=this.webBrowser1.Document.All["登录用户名文本框的Name"];HtmlElementtextboxPassword=this.webBrowser1.Document.GetElementById("ls_password");//如果没有ID,用Name获取//HtmlElementtextboxPassword=this.webBrowser1.Document.All["登录密码框的Name"];//HtmlElementbuttonSubmit=this.webBrowser1.Document.GetElementById("ls_cookietime");//如果没有ID,用Name获取//HtmlElementbuttonSubmit=this.webBrowser1.Document.All["ls_cookietime"];for(inti=this.listView_usr.SelectedItems.Count-1;i>=0;i--){ListViewItemitem=this.listView_usr.SelectedItems[i];//this.listView_usr.Items.Remove(item);stringstrUsr=item.SubItems[0].Text;stringstrPwd=item.SubItems[1].Text;textboxUserId.InnerText=strUsr;//填写帐号textboxPassword.InnerText=strPwd;//填写密码}//触发登录事件HtmlElementCollectionelements=this.webBrowser1.Document.GetElementsByTagName("button");//Request.ServerVariables("HTTP_REFERER");foreach(HtmlElementiteminelements){if(item.GetAttribute("className").Equals("pnvm")&&item.GetAttribute("type").Equals("submit")){//continue;item.InvokeMember("click");}//elseif(item!=textBox_url.Text)//{//item.InvokeMember("click");//}}}//elseif((e.Url.ToString().ToLower().Equals("http://bbs.jznews.com.cn/portal.php"))//||(e.Url.ToString().ToLower().Equals("http://bbs.jznews.com.cn/")))//{//HtmlElementCollectionlinks=webBrowser1.Document.Links;//foreach(HtmlElementlinkinlinks)//{//if(null==link.InnerText)//{//continue;//}//if(link.InnerText.Equals(""))//{//link.InvokeMember("click");//激发链接的点击事件//}//}//}}privatevoidwebBrowser1_NewWindow(objectsender,CancelEventArgse){e.Cancel=true;//取消使用系统的IE打开超链接webBrowser1.Navigate((senderasWebBrowser).Document.ActiveElement.GetAttribute("href"));//继续在窗体中打开页面}privatevoidwebBrowserQuit(){if(null==webBrowser1.Document){return;}webBrowser1.Document.Cookie="";HtmlElementCollectionlinks=webBrowser1.Document.Links;if(null==links){return;}foreach(HtmlElementlinkinlinks){if(null==link.InnerText){continue;}if(link.InnerText.Equals("退出")){link.InvokeMember("click");//激发链接的点击事件break;}}}privatevoidbutton1_Click(objectsender,EventArgse){if(""!=textBox_url.Text){webBrowserQuit();//if(null==webBrowser1.Url)//{webBrowser1.Url=newUri(textBox_url.Text);//}}}privatevoidInitListView(){listView_usr.GridLines=true;listView_usr.FullRowSelect=true;listView_usr.View=View.Details;listView_usr.Scrollable=true;listView_usr.MultiSelect=false;listView_usr.HeaderStyle=ColumnHeaderStyle.Nonclickable;listView_usr.Columns.Add("用户名",100,HorizontalAlignment.Right);listView_usr.Columns.Add("密码",100,HorizontalAlignment.Left);}privatevoidLoadUserData(){XmlDocumentXMLDom=newXmlDocument();stringstrPath=System.Environment.CurrentDirectory+"/user.xml";XMLDom.Load(strPath);XmlNodeListnewXMLNodes=XMLDom.SelectNodes("/users/user");listView_usr.Items.Clear();foreach(XmlElementxninnewXMLNodes){//XmlElement*pstElememt=(XmlElement*)&XmlNode;stringstrId=xn.GetAttribute("id");stringstrPwd=xn.GetAttribute("pwd");ListViewItemli=newListViewItem();li.SubItems.Clear();li.SubItems[0].Text=strId;li.SubItems.Add(strPwd);listView_usr.Items.Add(li);//MessageBox.Show(title);}}privatevoidlistView_usr_SelectedIndexChanged(objectsender,EventArgse){if(""!=textBox_url.Text){webBrowserQuit();webBrowser1.Url=newUri(textBox_url.Text);}}privatevoidlistView_usr_DoubleClick(objectsender,EventArgse){if(""!=textBox_url.Text){webBrowserQuit();if(null==webBrowser1.Url){webBrowser1.Url=newUri(textBox_url.Text);}}}privatevoidbutton_addusr_Click(objectsender,EventArgse){XmlDocumentXMLDom=newXmlDocument();stringstrPath=System.Environment.CurrentDirectory+"/user.xml";XMLDom.Load(strPath);XmlElementtheUser=XMLDom.CreateElement("user");theUser.SetAttribute("id",textBox_usr.Text);theUser.SetAttribute("pwd",textBox_pwd.Text);XMLDom.DocumentElement.AppendChild(theUser);XMLDom.Save(strPath);LoadUserData();}privatevoidbutton_delusr_Click(objectsender,EventArgse){XmlDocumentXMLDom=newXmlDocument();stringstrPath=System.Environment.CurrentDirectory+"/user.xml";XMLDom.Load(strPath);for(inti=this.listView_usr.SelectedItems.Count-1;i>=0;i--){ListViewItemitem=this.listView_usr.SelectedItems[i];//this.listView_usr.Items.Remove(item);stringstrUsr=item.SubItems[0].Text;stringstrItemPath="/users/user[@id=""+strUsr+""]";XmlElementtheUser=(XmlElement)XMLDom.SelectSingleNode(strItemPath);if(null!=theUser){theUser.ParentNode.RemoveChild(theUser);}}XMLDom.Save(strPath);LoadUserData();}privatevoidForm1_Load(objectsender,EventArgse){}}}

解决方案

解决方案二:
navigationURl="javascript:parent.location.href='../Login.aspx'"或者top.location.href='地址'
解决方案三:
不需要做判断吗
解决方案四:
防盗链对吧usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Mvc;usingSystem.Web.Security;namespaceHRMS.Controllers{///<summary>///防盗链(Filter)///</summary>publicclassMyFilter:ActionFilterAttribute{publicoverridevoidOnActionExecuted(ActionExecutedContextfilterContext){//base.OnActionExecuted(filterContext);varuser=filterContext.HttpContext.Session["user"];if(user==null){filterContext.HttpContext.Response.Write("<script>alert('请登陆...')</script>");//获取刚刚用户浏览的URL(不指定参数值)stringurl=FormsAuthentication.DefaultUrl;filterContext.HttpContext.Response.Write("<script>window.parent.location.assign('"+url+"')</script>");}}}}//用法[类名(就是放上面源代码的类名)]publicresultactionXX(){...}

解决方案五:
饿4楼的大哥,你这步是我想要的答案啊,我是要在我所发的代码上进行的。也就是说,要登录后返回当前浏览的页面,我这是获取的别人的论坛,要自动登录,还要是在所浏览的当前页面登录,并且返回当前的浏览页面。你这个没用。我这个不是网站,是应用程序。
解决方案六:
郁闷啊,谁能解决下这个问题,在线等了一天没人会?
解决方案七:
现在这个能登陆吗
解决方案八:
可以登录,就是无法返回当前浏览页,只能返回默认的页面。
解决方案九:
该回复于2011-12-09 09:12:57被版主删除

时间: 2024-10-07 12:53:01

webbrowser 登陆后返回当前页面问题,登录已经解决!100分速度结贴的相关文章

javascript-登陆后返回之前页面,但之前页面不自动刷新。

问题描述 登陆后返回之前页面,但之前页面不自动刷新. 查看文章要登陆会员,登陆后自动返回之前页面,我写的这个js javascript:history.go(-2) 但是返回后页面不自动刷新,还是要求登陆的样子. 请问写什么js可以实现返回并且刷新页面. 解决方案 把之前输入的值再填进去. 解决方案二: windows.location.href=windows.登陆界面的.href 解决方案三: 打开登录界面时,也把之前的连接传进来,再用windows.location.href=之前页面的连

帝国cms前台发布投稿,如何设置发布后返回指定页面?

(1).投稿表单加提交后返回地址变量:ecmsfrom ecmsfrom变量值有三种方式: 1.如果不设置则返回系统默认的地址: 2.如果值为9,那么返回的是提交地址,系统自动识别: 3.如果设置除了9以外其它值,将返回变量值的地址. 例子:<input type="hidden" name="ecmsfrom" value=http://www.jzread.com> (2).如果是设置增加投稿后返回内容页,则在投稿表单中加:<input typ

dedecms自定义表单发布成功后返回当前页面

dedecms的自定义表单非常的灵活,无论是用户留言.在线报名.信息收集统统都可以通过自定义表单完成.自定义表单发布成功后会跳转到表单列表页,我们又不想让别人看到,如何返回之前的页面呢?打开/plug/diy.php文件,找到第93行"$bkmsg = '发布成功,现在转向表单列表页...';"和第99行"$bkmsg = '发布成功,请等待管理员处理-';"后面加上"echo "<script>alert('提交成功!'); his

【MyBatis】关于MyBatis插入自动增长id的Bean到数据库后返回的id为null的解决办法

转载请注明出处http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] 解决办法其实很简单只需要为你的**.xml中的insert增加两个属性就可以了. 例如我的SponsorsMapper.xml中原来的代码如下: <insert id="insertSelective" parameterType="com.uifuture.footer.entity.Sponsors"> insert into spons

WordPress中登陆后关闭登陆页面及设置用户不可见栏目_php技巧

用户登录后关闭登录页面WordPress默认的登录页面是:http://WP目录/wp-login.php,登录后会自动跳转到:http://WP目录/wp-admin.现在问题来了,如果用户已经登录,但是它又打开wp-login.php页面,会出现什么样的情况呢?答案是,WordPress不会做任何处理,还是直接给你显示登录窗口: 面对如此冰冷的登录框,用户会感到困惑,我刚刚不是已经登录了吗?怎么还要我输入用户名和密码?所以,用户登录后,我们不该让用户再看到登录框.解决此问题的办法有两个: 去

Session登陆后丢失的解决办法

session|解决|session 最近做网站后台的时候,登陆后发现刷新页面时Session会丢失,过几秒钟也会自然丢失,查了资料后发现可以这样解决: 1.打开web.config文件,设置如下: <!-- 会话状态设置 默认情况下,ASP.NET 使用 Cookie 来标识哪些请求属于特定的会话. 如果 Cookie 不可用,则可以通过将会话标识符添加到 URL 来跟踪会话. 若要禁用 Cookie,请设置 sessionState cookieless="true". --

表单提交错误后返回内容消失问题的解决方法(PHP网站)_php技巧

表单提交错误后返回内容消失怎么办呐,今天就来分析解决一下这个问题. 状况概述: 做填写表单信息提交的时候会碰到一个问题就是当用户填写并提交表单后,程序判断不符合要求并返回,返回之后之前填写的表单信息会被清空了的情况.如果填写的信息量少还无所谓,如果填写的信息量比较多,这会直接打击到填写信息的人的良好心情.因此解决表单提交错误返回后填写的内容消失的问题是一个提高用户体验度的迫在眉睫的问题.对于这种问题,综合总结了大概有下面几种情况: (1)页面使用了session_start函数,这个函数有个特点

django如何在用户登录后返回到原来来页面,并保持登陆状态

问题描述 django如何在用户登录后返回到原来来页面,并保持登陆状态 各位朋友们好,现在用django做一个用户登录页面,希望能够在用户登录后返回到原来来页面,并保持登陆状态,网上找到了下面这个方法 def login_user(request): if request.method == 'GET': #记住来源的url,如果没有则设置为首页('/') request.session['login_from'] = request.META.get('HTTP_REFERER', '/')

界面-在安卓中,通过button在另一个XML页面实现登录事件后返回如何让这个button消失

问题描述 在安卓中,通过button在另一个XML页面实现登录事件后返回如何让这个button消失 在安卓中,在主界面通过button按钮在另一个页面实现登录事件成功以后,返回初始主界面,让遗留的这个button按钮消失, 解决方案 给按钮隐藏不就行了啊 解决方案二: 给一个变量,可以判断 解决方案三: 1.MainActivity里这个button的点击事件跳转时使用 startActivityForResult(intent, 0);方法 2.MainActivity里重写下面的方法 pro