Beispiel #1
0
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnLogin_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(txtUser.Text))
                {
                    MessageBox.Show("请输入用户名!");
                    return;
                }
                if (string.IsNullOrEmpty(txtPsd.Text))
                {
                    MessageBox.Show("请输入密码!");
                    return;
                }
                lblmsg.Visible = true;
                BackgroundWorker bgwDownType1 = new BackgroundWorker();
                bgwDownType1.WorkerReportsProgress = true;

                WebHelper webhelper = new WebHelper();
                CommonExtensions.Cookies  = new CookieContainer();
                CommonExtensions.Userid   = txtUser.Text.Trim();
                CommonExtensions.Password = txtPsd.Text.Trim();
                string postData = "macAddress=&loginname=" + CommonExtensions.GetUrlEncodeVal(txtUser.Text.Trim()) + "&password="******"&loginType=1";

                string webCookie = "";
                HtmlAgilityPack.HtmlDocument doc = null;
                cookies = new CookieContainer();

                bgwDownType1.DoWork += (bsend, be) =>
                {
                    string retString = webhelper.PostHttp(baseUrl + "login.action", postData, "application/x-www-form-urlencoded", cookies);

                    doc       = HtmlHelper.GetHtmlDocument(retString);
                    webCookie = webhelper.CookieInfo;
                };

                bgwDownType1.RunWorkerCompleted += (bsend, be) =>
                {
                    string title = "";

                    var node = doc != null?doc.DocumentNode.SelectSingleNode("//title") : null;

                    if (node != null)
                    {
                        title = node.InnerText;
                    }

                    if (title.Contains("首页"))
                    {
                        FrmMain ft = new FrmMain();
                        ft.SysCookie = cookiesStr;

                        ft.SysCookieContainer = cookies;

                        ft.ShowDialog();
                    }
                    else
                    {
                        MessageBox.Show("登陆失败!");
                        return;
                    }
                };

                bgwDownType1.RunWorkerAsync();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }