양식과 제출 버튼이있는 웹 페이지가 있고 서버 측에서는 세션 값을 사용하여 양식 제출을 두 번 방지합니다. 세션의 초기 값은 0입니다. 사용자가 제출 버튼을 클릭하면 1로 바뀌고, 제출 버튼을 누르면 세션 값이 먼저 확인됩니다.asp.net 양식을 두 번 제출했습니다.
그러나 우리 프로젝트가 출판되었을 때 같은 사람에 대해 두 개의 레코드가 있다는 것을 알았습니다 (즉, 두 번 제출했음을 의미합니다. 한두 명의 사람에게는 매우 자주 발생하지는 않습니다). 시간 간격 이 두 레코드 사이에 0.3 초와 같이 매우 작습니다. 처음에는 제출 버튼을 두 번 클릭 할 수 있다고 생각했지만 컴퓨터에서 한 번만 레코드를 데이터베이스에 삽입했습니다.
나는 혼란 스럽습니다. 어떻게 될까요? 여기
코드입니다 : 그 세션 값을 확인 후 프로그램이 다른 페이지로 사용자를 이동하지만 제출 프로세스를 종료하지 때문에 protected void Page_Init(object sender, EventArgs e)
{
if (!IsPostBack)
{
Session["IsBackForwordPayment"] = 0;
}
}
protected void submit_Click(object sender, EventArgs e)
{
if (Session["IsBackForwordPayment"] != null && Session["IsBackForwordPayment"].ToString() != "0")
Response.Redirect("~/pages/renewal/duplicaterenewal.aspx");
.......
}
이 가능 ??
페이지에 ImageButton이 있습니까? http://stackoverflow.com/questions/1498269/asp-net-double-click-problem –
Response.Redirect ("string")은 자동으로 Response.End()를 호출하므로 실행이 중지되어야합니다. 여러 번 클릭하지 않았습니까? 양식을 수행하는 페이지의 자바 스크립트는 무엇입니까? 또한 ... 그것은 UpdatePanel (AJAX) 안에 있습니까? 아니면 그냥 표준 Webforms? – theyetiman
@theyetiman 나는 여러 번의 클릭을 시도했지만 모든 것이 정상이며 표준 웹폼 – pita