2016-07-22 107 views
0

我在我可以調用的方法中有一個「if」或「case」語句。 我有「旗幟」作爲公衆地位。它的瘋狂它的循環/運行兩次,所以導致有重複的命令,在這種情況下,我有數據庫上的重複數據。爲什麼如果陳述重複兩次?

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 

這是

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 

方法「Compartment1」運行兩次,看起來像我的循環按鈕的命令,所以我有一個重複數據或重複單一命令。它只能運行一次嗎?

+1

是''FlagMark' Shared'?它不應該被共享,否則所有用戶都會相互覆蓋這個標誌。但除此之外,還不清楚是什麼導致了你的問題。你有沒有在方法中設置一個斷點以查看它是否被調用兩次?如果是這樣,請查看調用堆棧以查看它來自哪裏。 –

+0

當然,「FlagMark」是一個公共類型的字符串變量 – MFBM

+0

向我們顯示HTML代碼。 – Prathyush

回答

0

解決!在我用ASP.Net按鈕替換了給定runat=server屬性的html按鈕之後。 爲什麼如此不同,如果使用ASP.NET按鈕事件正常運行正常步驟ifcase聲明,而使用Html按鈕與runnat=server看起來像循環過程。即使有相同的屬性配置波紋管:

CausesValidation =True EnableViewState=True