【问题标题】:Button click event not firing on server按钮单击事件未在服务器上触发
【发布时间】:2015-11-25 10:52:59
【问题描述】:

我的按钮点击事件有点问题。当我运行我的视觉工作室调试时,它在我的本地主机上正常工作,但是当我在服务器上上传文件时,这个按钮单击事件只工作了一半。它在 http cookie 行上停止。它将所有内容插入数据库,但在此之后和 http cookie 之前 - 它停止并且不会继续。哪里可能有问题?我正在与这个问题斗争 8 个小时......

string query = "INSERT INTO CMS_ORDERS_BUYERS (BUYER_ID, BUYER_DATE, BUYER_NAME, BUYER_SURNAME, BUYER_ADRESS, BUYER_CITY, BUYER_POSTCODE, BUYER_MAIL, BUYER_PHONE, BUYER_DELIVERY, BUYER_VAT, BUYER_GUID, CLIENT_ID, BUYER_NIP, BUYER_COMPANY, BUYER_CODE) VALUES (@ID, @DATE, @NAME, @SURNAME, @ADRESS, @CITY, @POSTCODE, @MAIL, @PHONE, @DELIVERY, @VAT, @GUID, @CLIENT_ID, @NIP, @COMPANY, @CODE)";
                SqlCommand cmd = new SqlCommand(query, con);
                cmd.Parameters.Add("@ID", System.Data.SqlDbType.NVarChar).Value = id;
                cmd.Parameters.Add("@DATE", System.Data.SqlDbType.NVarChar).Value = DateTime.Now;
                cmd.Parameters.Add("@NAME", System.Data.SqlDbType.NVarChar).Value = Imię.Text;
                cmd.Parameters.Add("@SURNAME", System.Data.SqlDbType.NVarChar).Value = Nazwisko.Text;
                cmd.Parameters.Add("@ADRESS", System.Data.SqlDbType.NVarChar).Value = Adres.Text;
                cmd.Parameters.Add("@CITY", System.Data.SqlDbType.NVarChar).Value = Miejscowość.Text;
                cmd.Parameters.Add("@POSTCODE", System.Data.SqlDbType.NVarChar).Value = KodPocztowy.Text;
                cmd.Parameters.Add("@MAIL", System.Data.SqlDbType.NVarChar).Value = Email.Text;
                cmd.Parameters.Add("@PHONE", System.Data.SqlDbType.NVarChar).Value = Telefon.Text;
                cmd.Parameters.Add("@DELIVERY", System.Data.SqlDbType.NVarChar).Value = DropDownList1.SelectedValue;
                cmd.Parameters.Add("@VAT", System.Data.SqlDbType.NVarChar).Value = VAT;
                cmd.Parameters.Add("@GUID", System.Data.SqlDbType.NVarChar).Value = Request.Cookies["GUID"].Value;
                cmd.Parameters.Add("@CLIENT_ID", System.Data.SqlDbType.Int).Value = int.Parse(HiddenField1.Value);
                cmd.Parameters.Add("@NIP", System.Data.SqlDbType.NVarChar).Value = NIP.Text;
                cmd.Parameters.Add("@COMPANY", System.Data.SqlDbType.NVarChar).Value = Company.Text;
                cmd.Parameters.Add("@CODE", System.Data.SqlDbType.NVarChar).Value = Rabat.Text;
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();

                HttpCookie guidCookie = Request.Cookies["GUID"];
                guidCookie.Expires = DateTime.Now.AddDays(-10);
                guidCookie.Value = null;
                Response.Cookies.Add(guidCookie);

                string listaProduktow = "";
                foreach (GridViewRow row in GridView1.Rows)
                {
                    listaProduktow += row.Cells[2].Text + "x " + row.Cells[1].Text + ", ";
                }

                string rodzajPrzesylki = DropDownList1.SelectedValue.Substring(0, DropDownList1.SelectedValue.IndexOf("-"));

                string kwotaRazem = GridView1.FooterRow.Cells[4].Text.Substring(0, GridView1.FooterRow.Cells[4].Text.IndexOf(" "));

                string cenaPrzesylki = DropDownList1.SelectedValue.Substring(DropDownList1.SelectedValue.IndexOf("-") + 1);

                string z24_id_sprzedawcy = "*****";
                string z24_nazwa = "****** " + id.ToString();
                string z24_crc = "*******";
                string z24_return_url = "*********/koszyk.aspx?done";
                decimal znizka = 1 - Convert.ToDecimal(znizkaZBazy) / 100;
                decimal kwotaZamowienie = Convert.ToDecimal(kwotaRazem);
                decimal kwotaPrzesylka = Convert.ToDecimal(cenaPrzesylki.Substring(0, cenaPrzesylki.IndexOf("P")));
                decimal z24_kwota_decimal = ((znizka * kwotaZamowienie) + kwotaPrzesylka) * 100;
                string z24_kwota = Convert.ToInt32(z24_kwota_decimal).ToString();

                string przelewy24URL = "https://sklep.przelewy24.pl/zakup.php?z24_id_sprzedawcy=" + z24_id_sprzedawcy + "&z24_nazwa=" + z24_nazwa + "&z24_crc=" + z24_crc + "&z24_kwota=" + z24_kwota + "&z24_return_url=" + z24_return_url + "";

                string body = PopulateBody(id.ToString(), DateTime.Now.ToString(), Imię.Text, Nazwisko.Text, Adres.Text, KodPocztowy.Text, Miejscowość.Text, Telefon.Text, Email.Text, listaProduktow, rodzajPrzesylki, (znizka * kwotaZamowienie).ToString("0.00"), cenaPrzesylki, NIP.Text, Company.Text);
                SendHtmlFormattedEmail(Email.Text, "Zamówienie - Naturalna Wytwórnia Piękna", body);

                Response.Redirect(przelewy24URL);

【问题讨论】:

  • 你能用 try/catch 扭曲它,看看有什么异常吗?
  • 它甚至没有抛出异常。
  • 如果你在 catch 语句中放置一个断点 - 调试器不会停在那里?
  • 不,问题是一切都在本地运行 - 在我的本地主机上。它在服务器上不工作,我不知道为什么......其他一切都在服务器上工作,只是不是那个按钮点击事件。
  • 可以在服务器上记录异常吗? - 也 - 如果请求中不存在 cookie 可能会导致

标签: c# button cookies click server


【解决方案1】:

让我的脚本无法正常工作的是我的 aspx 文件中的更新面板。我有一个 asyncpostback 触发器连接到我的按钮单击事件,但我忘记了我将它移到了更新面板之外,所以我通过删除触发器修复了我的更新面板,结果发现我需要在我的内部将我的邮件端口从 587 更改为 25网络配置。现在一切正常!

【讨论】:

    猜你喜欢
    • 2013-05-01
    • 2013-05-11
    • 2014-01-14
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 2010-10-21
    • 2013-01-17
    • 2012-03-14
    相关资源
    最近更新 更多