如何基于服务器端JavaScript确认返回停止单击事件?
我对正在生成的表调用以下属性。对于每条记录,我都有一个删除按钮,但我想在单击事件中添加一个确认框。这个代码库相当尴尬,因为几乎所有的UI都是在服务器端生成的,我没有太多正确的使用web表单最佳实践的方法,例如明确分开的表单和代码 我决定将确认框的JavaScript添加到CssButton的属性中……如果用户在生成的客户端确认框上单击“取消”,是否有方法停止单击过程。我是否可以通过某种方式将javascript传递给bool,然后将其返回并将AddClickHandler基于该bool?提前感谢您的帮助如何基于服务器端JavaScript确认返回停止单击事件?,javascript,asp.net,vb.net,Javascript,Asp.net,Vb.net,我对正在生成的表调用以下属性。对于每条记录,我都有一个删除按钮,但我想在单击事件中添加一个确认框。这个代码库相当尴尬,因为几乎所有的UI都是在服务器端生成的,我没有太多正确的使用web表单最佳实践的方法,例如明确分开的表单和代码 我决定将确认框的JavaScript添加到CssButton的属性中……如果用户在生成的客户端确认框上单击“取消”,是否有方法停止单击过程。我是否可以通过某种方式将javascript传递给bool,然后将其返回并将AddClickHandler基于该bool?提前感谢
Private mDeleteButton As CssButton
Private ReadOnly Property DeleteButton() As CssButton
Get
If mDeleteButton Is Nothing Then
mDeleteButton = New CssButton(ButtonImage.Cancel, "Delete")
With mDeleteButton
.Attributes.Add("onclick", "javascript: (!confirm('Delete this future transaction?'))")
.AddClickHandler(New EventHandler(AddressOf DeleteButton_Click))
.CausesValidation = False
.ID = String.Concat(Me.ID, "DeleteButton")
End With
End If
Return mDeleteButton
End Get
End Property
按以下方式更改代码。通过添加实际的条件语句和基于属性中的条件的结果/操作
Private mDeleteButton As CssButton
Private ReadOnly Property DeleteButton() As CssButton
Get
If mDeleteButton Is Nothing Then
mDeleteButton = New CssButton(ButtonImage.Cancel, "Delete")
With mDeleteButton
.Attributes.Add("onclick", "javascript: if(!confirm('Delete this future transaction?')) { return false; } else { //DO SOMETHING }")
.AddClickHandler(New EventHandler(AddressOf DeleteButton_Click))
.CausesValidation = False
.ID = String.Concat(Me.ID, "DeleteButton")
End With
End If
Return mDeleteButton
End Get
End Property
onclick中没有
返回
。去掉javascript:
返回false
将取消在JS中的单击。在javascript确认函数中,您可以使用StopperPagation告诉JS您已经处理了事件,不需要再冒泡了。如果要停止事件的默认行为(即onclick),可以使用preventDefault。这样,您将触发您选择的事件。