【发布时间】: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