2016-07-22 2 views
0

내가 호출 할 수있는 메서드에 "if"또는 "case"문이 있습니다. "Flag"가 공개 상태 인입니다. 자사의 Crazy 루프/두 번 실행, 그래서 원인이 중복 명령,이 경우에는 데이터베이스에 중복 데이터가 있습니다.이유 문장이 두 번 반복되는 이유는 무엇입니까?

Public Sub compartment1(ByVal exec As Boolean) 
    Try 
     If exec = True Then 
      Select Case FlagMark 
       Case 1 

        Insert database execute command 

       Case 2 
        another command 
      End Select 

     ElseIf exec = False Then 

     End If 
    Catch ex As Exception 

    End Try 
End Sub 

는 그리고이는 방법 "Compartment1는"루핑과 같이 두 번 실행

Private Sub cmd_confirm_Click(sender As Object, e As EventArgs) Handles cmd_confirm.Click 

If pCheck2.Checked = True Then 

       FlagMark = 1 
       compartment1(True) 

End If 

End Sub 

내 버튼 명령, 그래서 중복 데이터를하거나 하나의 명령에 대한 중복. 한 번만 실행할 수 있습니까?

+1

는'FlagMark''Shared'인가 등 : 울부 짖는 소리와 같은 동일한 속성 구성을 가지고 있지만? 공유되지 않아야합니다. 그렇지 않으면 모든 사용자가이 플래그를 서로 겹쳐 쓰게됩니다. 그러나 그 문제를 제외하고는 무엇이 당신의 문제를 일으키는 지 명확하지 않습니다. 두 번 부름을 받았는지 알아보기 위해 브리 포인트를 설정 했습니까? 그렇다면 호출 스택을보고 어디에서 왔는지 확인하십시오. –

+0

"FlagMark"는 public 유형이 – MFBM

+0

인 문자열 변수입니다. HTML 코드도 표시하십시오. – Prathyush

답변

0

해결! 내가 속성을 가진 HTML 버튼을 ASP.Net 버튼으로 대체 한 후. 왜 ASP.NET 컨트롤에서 runnat=server과 같은 버튼을 사용하는 동안 루프 버튼을 사용하는 동안 if 또는 case 문을 사용하여 ASP.NET 버튼이 정상적으로 실행됩니다.

CausesValidation =True EnableViewState=True,

관련 문제