2013-08-20 3 views
1

나는 asp.net에서 웹 응용 프로그램을 작성하고 있습니다. 나는 입력 양식을 가지고있다. 클라이언트가 삽입하기 전에 저장 단추를 클릭 할 때이 데이터가 데이터베이스에 있는지 확인하십시오. 나는 코드와 함께 그것을 작성했습니다. 하지만 내가 자바 스크립트와 함께 할 때 내가 페이지 새로 고침 뒤에 코드를 사용하기 때문에 싶어요. 이 체크 중복 데이터에 대한 내 .NET 코드 :자바 스크립트로 중복 데이터 확인

SqlCommand commandrepeat1 = new SqlCommand("Select code from CmDet where code = " + txtcode.Text + " and company = " + DataBase.globalcompany.ToString() + " order by code desc"); 
      commandrepeat1.Connection = objconnection; 
      objconnection.Close(); 
      objconnection.Open(); 
      SqlDataReader drmax1; 
      drmax1 = commandrepeat1.ExecuteReader(); 
      drmax1.Read(); 
      if (drmax1.HasRows) 
      { 
       MessageBox.Show("Duplicate data . try again!!! "); 
       txtcode.Focus(); 
       objconnection.Close(); 
       return; 
      } 
      objconnection.Close(); 
     } 
     catch 
     { 
      objconnection.Close(); 
     } 

답변

1

당신은 (이 데이터가 중복되지 않도록 결정되면 서버 측 코드를 실행하는) 당신의 ASP.NET 버튼을 모두 OnClick 이벤트를 구현해야하고 OnClientClick 이벤트 (중복 데이터가 있는지 확인하기 위해 호출 할 자바 스크립트를 실행하기 위해).

자바 스크립트에서

, 이런 식으로, 당신의 버튼에 jQuery를 클릭 이벤트를 추가 :

$("#myButton").click(function() { 

}); 

참고 :

I는 다음과 같은 제안 내가 myButton을 할 수 있도록 버튼의 이름을 가정 한 변화 마크 업에서 버튼의 ID와 일치시킵니다.

이제 중복 데이터를 찾기 위해 논리를 실행하려면 server-side를 호출해야합니다. 나는이 같은, JQuery와 .ajax() 기능을 통해 호출 ASP.NET AJAX 페이지 방법을 사용하는 것이 좋습니다 :

$.ajax({ 
    type: "POST", 
    url: "YourPage.aspx/DoesDataExist", 
    data: "{'codeValue': $('#myTextBox').val()}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function(msg) { 
     if(msg.d) { 
      // This is a duplicate, alert user with message 
      // Block the server-side click from happening with return false; 
      return false; 
     } 
    } 
}); 

마지막으로, 우리가 같이 위의 jQuery를 호출하는 페이지 방법을 처리 할 서버 측 코드를 구축해야 이 :

[WebMethod] 
public static bool DoesDataExist() 
{ 
    SqlCommand commandrepeat1 = new SqlCommand("Select code from CmDet where code = " + txtcode.Text + " and company = " + DataBase.globalcompany.ToString() + " order by code desc"); 
    commandrepeat1.Connection = objconnection; 
    objconnection.Close(); 
    objconnection.Open(); 
    SqlDataReader drmax1; 
    drmax1 = commandrepeat1.ExecuteReader(); 
    drmax1.Read(); 
    if (drmax1.HasRows) 
    { 
     objconnection.Close(); 
     return true; 
    } 
    objconnection.Close(); 

    return false; 
} 
+0

그렇게하기에 충분한 평판을 얻은 경우이 답을 자유롭게 투표하십시오. :-) –

+0

안녕하세요, 당신은 단 하나의 매개 변수'# myTextBoxValue'을 확인했습니다. 만약 2-3 파라메터를 확인해야한다면? 어떤 종류의 것들을 돌봐야합니까? – BNN

+0

@stack 서버 쪽에서 ASP.NET AJAX 페이지 메서드에 전달되는 JSON 개체는 매개 변수 (개체 또는 값)가됩니다. 또 다른 옵션은 값을 쿼리 문자열 매개 변수로 전달하는 것입니다. –