using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using mshtml;namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            textBox_url.Text = "http://bbs.jznews.com.cn/portal.php";
            InitListView();
            LoadUserData();
            
        }
        //private void herfclick(string url)
        //{        //    for (int i = 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;        //        }        //    }        //}
              private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            webBrowser1.ScriptErrorsSuppressed = true;            
            
            if ((e.Url.ToString().ToLower().Equals("http://bbs.jznews.com.cn/portal.php"))   //登陆页面
                || (e.Url.ToString().ToLower().Equals("")))
               
         
            {
                HtmlElement textboxUserId = this.webBrowser1.Document.GetElementById("ls_username");
                //如果没有ID,用 Name 获取
                //HtmlElement textboxUserId = this.webBrowser1.Document.All["登录用户名文本框的Name"];                HtmlElement textboxPassword = this.webBrowser1.Document.GetElementById("ls_password");
                //如果没有ID, 用Name 获取
                //HtmlElement textboxPassword = this.webBrowser1.Document.All["登录密码框的Name"];                //HtmlElement buttonSubmit = this.webBrowser1.Document.GetElementById("ls_cookietime");
                //如果没有ID, 用Name获取
                //HtmlElement buttonSubmit = this.webBrowser1.Document.All["ls_cookietime"];               
                for (int i = this.listView_usr.SelectedItems.Count - 1; i >= 0; i--)
                {
                    ListViewItem item = this.listView_usr.SelectedItems[i];
                    //this.listView_usr.Items.Remove(item);
                    string strUsr = item.SubItems[0].Text;
                    string strPwd = item.SubItems[1].Text;
                    textboxUserId.InnerText = strUsr;      //填写帐号
                    textboxPassword.InnerText = strPwd;   //填写密码
                }
                //触发登录事件
                HtmlElementCollection elements = this.webBrowser1.Document.GetElementsByTagName("button");
                //Request.ServerVariables("HTTP_REFERER");
               
                foreach (HtmlElement item in elements)
                {    
                    if (item.GetAttribute("className").Equals("pn vm") && item.GetAttribute("type").Equals("submit"))
                    {
                        //continue;
                        item.InvokeMember("click");
                    }
                    //else if (item != textBox_url.Text)
                    //{
                    //    item.InvokeMember("click");
                    //}
                 
                    
                    
                                    
                }            
            }
            //else if ((e.Url.ToString().ToLower().Equals("http://bbs.jznews.com.cn/portal.php"))
            //    || (e.Url.ToString().ToLower().Equals("http://bbs.jznews.com.cn/")))
            //{            //    HtmlElementCollection links = webBrowser1.Document.Links;
            //    foreach (HtmlElement link in links)
            //    {            //        if (null == link.InnerText)
            //        {
            //            continue;
            //        }            //        if (link.InnerText.Equals(""))
            //        {
            //            link.InvokeMember("click"); //激发链接的点击事件            //        }            //    }
            //}
        }
       
                private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
        {
            e.Cancel = true; //取消使用系统的IE打开超链接
          webBrowser1.Navigate((sender as WebBrowser).Document.ActiveElement.GetAttribute("href"));
            
            //继续在窗体中打开页面
        }
               private void webBrowserQuit()
        {
            if (null == webBrowser1.Document)
            {
                return;
            }            webBrowser1.Document.Cookie = "";
                        HtmlElementCollection links = webBrowser1.Document.Links;
            if (null == links)
            {
                return;
            }            foreach (HtmlElement link in links)
            {
                if (null == link.InnerText)
                {
                    continue;
                }                if (link.InnerText.Equals("退出"))
                {
                    link.InvokeMember("click"); //激发链接的点击事件
                    break;
                }
            }
        }        private void button1_Click(object sender, EventArgs e)
        {
            if ("" != textBox_url.Text)
            {
                webBrowserQuit();
                //if (null == webBrowser1.Url)
                //{
                    webBrowser1.Url = new Uri(textBox_url.Text);
                //}
            }
        }        private void InitListView()
        {
            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); 
        }        private void LoadUserData()
        {         
            XmlDocument XMLDom = new XmlDocument();
            string strPath = System.Environment.CurrentDirectory + "/user.xml";
            XMLDom.Load(strPath);
            XmlNodeList newXMLNodes = XMLDom.SelectNodes("/users/user");
            listView_usr.Items.Clear();
            foreach (XmlElement xn in newXMLNodes)
            {
                //XmlElement* pstElememt = (XmlElement*)&XmlNode;
                string strId = xn.GetAttribute("id");
                string strPwd = xn.GetAttribute("pwd");
                ListViewItem li = new ListViewItem ( ) ;
                li.SubItems.Clear ( ) ;
                li.SubItems[0].Text = strId;
                li.SubItems.Add(strPwd);                listView_usr.Items.Add(li);
                //MessageBox.Show(title);
            }
        }        private void listView_usr_SelectedIndexChanged(object sender, EventArgs e)
        {
            if ("" != textBox_url.Text)
            {
                webBrowserQuit();
                webBrowser1.Url = new Uri(textBox_url.Text);
            }
        }        private void listView_usr_DoubleClick(object sender, EventArgs e)
        {
            if ("" != textBox_url.Text)
            {
                webBrowserQuit();
                if (null == webBrowser1.Url)
                {
                    webBrowser1.Url = new Uri(textBox_url.Text);
                }
            }
        }        private void button_addusr_Click(object sender, EventArgs e)
        {
            XmlDocument XMLDom = new XmlDocument();
            string strPath = System.Environment.CurrentDirectory + "/user.xml";
            XMLDom.Load(strPath);
            XmlElement theUser = XMLDom.CreateElement("user");
            theUser.SetAttribute("id", textBox_usr.Text);
            theUser.SetAttribute("pwd", textBox_pwd.Text);
            XMLDom.DocumentElement.AppendChild(theUser);
            XMLDom.Save(strPath);            LoadUserData();
        }        private void button_delusr_Click(object sender, EventArgs e)
        {
            XmlDocument XMLDom = new XmlDocument();
            string strPath = System.Environment.CurrentDirectory + "/user.xml";
            XMLDom.Load(strPath);            for (int i = this.listView_usr.SelectedItems.Count - 1; i >= 0; i--)
            {
                ListViewItem item = this.listView_usr.SelectedItems[i];
                //this.listView_usr.Items.Remove(item);
                string strUsr = item.SubItems[0].Text;
                string strItemPath = "/users/user[@id=\"" + strUsr +"\"]";
                XmlElement theUser = (XmlElement)XMLDom.SelectSingleNode(strItemPath);
                if (null != theUser)
                {
                    theUser.ParentNode.RemoveChild(theUser);
                }
            }            XMLDom.Save(strPath);
            LoadUserData();
            
        }        private void Form1_Load(object sender, EventArgs e)
        {        }        
    }
}

解决方案 »

  1.   

    navigationURl="javascript:parent.location.href='../Login.aspx'"或者top.location.href='地址' 
      

  2.   

    防盗链对吧using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using System.Web.Security;namespace HRMS.Controllers
    {
        /// <summary>
        /// 防盗链(Filter)
        /// </summary>
        public class MyFilter:ActionFilterAttribute
        {
            public override void OnActionExecuted(ActionExecutedContext filterContext)
            {
                //base.OnActionExecuted(filterContext);
                var user=filterContext.HttpContext.Session["user"];
                if (user == null)
                {
                    filterContext.HttpContext.Response.Write("<script>alert('请登陆...')</script>");
                    //获取刚刚用户浏览的URL(不指定参数值)
                    string url = FormsAuthentication.DefaultUrl;
                    filterContext.HttpContext.Response.Write("<script>window.parent.location.assign('" + url + "')</script>");
                }
            }
        }
    }
    //用法
    [类名(就是放上面源代码的类名)]
    public resultaction XX()
    {
      ...
    }