2016-07-22 105 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