单击事件按钮5次点击后禁用按钮
问题描述:
我对VB.NET来说是相当新的。我觉得我做了很难的部分,并与简单的部分拼搏!我在来这里之前搜索了它,但仍然挣扎着。单击事件按钮5次点击后禁用按钮
基本上我有一个下拉列表中的所有可用的治疗方法和按钮旁边(添加治疗)。每次我从列表中选择治疗时,我点击按钮,然后添加它并将其绑定到gridview,唯一的问题是我希望用户能够添加多达5种治疗方法,然后禁用按钮。这个问题我怎么能说找到点击按钮的次数,然后我想我可以把If语句,我不知道如何找到按钮被点击的次数的值。
Dim availableTreatment As ListItem = New ListItem
Dim count As Integer = 0
For count = 0 To 4
If count <= 4 And btnavailableTreatment (button clicked value is what should go here) Then
availableTreatment = DDTreatmentList.SelectedItem
c.name = availableTreatment.Value
saveTreatment(c)
gvavailableTreatment.DataSource = getTreatment(c.name)
gvavailableTreatment.DataBind()
Else
btnavailableTreatment.Enabled = False
End If
count = count + 1
Next
答
此标记添加到您的网页:
<asp:HiddenField id="NumberOfTimesClickedHiddenField"
value="0"
runat="server"/>
添加到您的按钮单击处理
'get previous value
Dim numberOfTimesClicked = Integer.Parse(NumberOfTimesClickedHiddenField.Value)
'increment value
numberOfTimesClicked += 1
'store new value
NumberOfTimesClickedHiddenField.Value = numberOfTimesClicked.ToString()
If numberOfTimesClicked >= 5 Then
btnavailableTreatment.Enabled = False
End If
现在的价值将在页面的表单中的数据持久化。
我原本是用C#写的,我不是VB.NET程序员,所以我用翻译器来转换它。可能有语法错误,但一般流程应该是正确的。
如果该代码在'Button_Click'事件中,那么在按下该按钮时计数器将被重置为0。尝试移动Button_Click外部的计数器。 –
@DaveB简单地将它移到外面也不会修复它。页面类的实例丢失,然后在每次回发时重新创建。他需要将数据存储在表单中,例如ViewState或隐藏字段。 – mason
梅森,她*。我会试着将它存储在隐藏的领域,看看它是如何发展的!干杯 – Sam