2010-06-08 4 views
0

메서드 내부에서 삭제를 확인하는 메시지 상자를 표시하려면 어떻게해야합니까?메서드에서 레코드 삭제 확인

일반적으로 내 단추에는 다음 줄만 사용하십시오. OnClientClick = "돌아 가기 확인 ('이 주석을 삭제 하시겠습니까?');"

그러나이 삭제 방법은 쿼리 문자열에서 호출 할 수도 있으므로 메서드에서 확인 메시지 상자 기능이 필요합니까? 이 (널 널)에 OnClientClick 이벤트 btnDelete_Click을 발생하지 않기 때문에

// delete comment method 
private void DeleteComment() 
{ 

      int commentid = Int32.Parse(Request.QueryString["c"]); 

      // call our delete method 
      DB.DeleteComment(commentid); 

} 

나는 코드를 통해 버튼을 클릭 할 수 없습니다;

감사

용융는

답변

0

내가 이런 일을하는 것이 좋습니다 것 같아요.

두 번째 쿼리 문자열 인수를 추가하여 확인되는지 여부를 지정합니다. 이 쿼리 문자열 방법론이 웹 크롤러 또는 무언가에 부딪 치지 않고 실수로 모든 의견을 삭제할 수 있도록 사용자가 로그인했음을 확인하는 코드를 추가하십시오.

// delete comment method 
private void DeleteComment() 
{ 

    if(Boolean.Parse(Request.QueryString["confirm"]) 
    { 
      int commentid = Int32.Parse(Request.QueryString["c"]); 

      // call our delete method 
      DB.DeleteComment(commentid); 
    } 
    else 
    { 
      ScriptManager.RegisterStartupScript(this, this.GetType(), "ConfirmDelete", @" 
      if(confirm('Are you sure you want to delete this comment?')) 
       window.location = '[insert delete location with confirm set to true]';     
      ", true); 
    } 

} 
1

당신은 자바 스크립트와 쿼리 문자열을 확인하고 다음 프롬프트를 표시해야처럼이

ibtnDelete.Attributes.Add("onClick", "javascript:return confirm('Are you sure you want to delete ?');"); 
+0

안녕하세요, 페이지가로드 될 때 onClientClick 이벤트가 발생하지 않습니다. 답장을 보내 주셔서 감사합니다. 감사합니다. 녹아 내림 – Melt

0

소리 사용해 볼 수 있습니다.
체크 아웃 this post :

메서드를 수정하여 body.onload 또는 (jquery) .ready 함수에서 호출 할 수 있습니다. 그러면 문제는 서버 측 방법으로 결과를 알 수있는 방법이됩니까? 삭제를 처리하고 jquery ajax post 메소드를 사용하여 호출하는 별도의 페이지를 설정할 수 있습니다.

는 그게 나의 $ 0.02