限制按钮使用计数限制

Restrict button use on count limit

我想做一个按钮,然后限制点击次数 到目前为止,我还没有成功,但这就是我走了多远。 这是我的按钮

<asp:Button ID="btnClearSesson" runat="server" Text="Reset"  onclick="btnClearSesson_Click" />

这就是我正在做的

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Dim lUserName As String
Static count As Integer

count = count + 1

lUserName = HttpContext.Current.User.Identity.Name

If count < 10 && lUserName = "ADMIN" Then

  btnClearSesson.Visible = True

  Else

  btnClearSesson.Visible = False

End If

End Sub 

所以我的问题是计数再次开始并且没有增加

单击按钮时必须增加计数,如果计数大于 10,它将停止显示按钮

您已经在页面加载中声明了静态变量,因此它会在每次页面加载时刷新

所以在全局范围内声明它 像这样

Static count As Integer
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Dim lUserName As String


count = count + 1

lUserName = HttpContext.Current.User.Identity.Name

If count < 10 && lUserName = "ADMIN" Then

  btnClearSesson.Visible = True

  Else

  btnClearSesson.Visible = False

End If

End Sub 

还有一件事,您应该增加按钮单击事件处理程序中的计数,而不是页面加载中的计数。

希望对您有所帮助。

您将代码放在页面加载事件中,而不是放在点击事件中

试试下面的代码:

Static count As Integer

Protected Sub btnClearSesson_Click(ByVal sender As Object, ByVal e As System.EventArgs) 

   Dim lUserName As String = HttpContext.Current.User.Identity.Name
   count +=1
   btnClearSesson.Visible = count < 10 && lUserName = "ADMIN"

End Sub 

在页面加载过程中,如果用户没有点击按钮,而是刷新页面,无论如何都会增加计数。