Javascript 从客户端调用服务器端按钮单击功能
我有一个这样的按钮:Javascript 从客户端调用服务器端按钮单击功能,javascript,c#,asp.net,webforms,Javascript,C#,Asp.net,Webforms,我有一个这样的按钮: <asp:LinkButton runat="server" ID="btnDeleteActivity" OnClientClick="return ConfirmDelete()" OnClick="btnDeleteActivity_Click"> Delete activity </asp:LinkButton> 删除活动 这个HTML: <
<asp:LinkButton runat="server" ID="btnDeleteActivity" OnClientClick="return ConfirmDelete()" OnClick="btnDeleteActivity_Click">
Delete activity
</asp:LinkButton>
删除活动
这个HTML:
<i class="fa fa-trash" onclick="DeleteActivity()"></i>
在JS中,我有:
function DeleteActivity() {
document.getElementById('<%= btnDeleteActivity.ClientID %>').click();
}
函数DeleteActivity(){
document.getElementById(“”)。单击();
}
问题是,当我单击I元素时,只调用按钮的OnClientClick,而忽略OnClick。(OnClientClick中的JS函数只是一个简单的返回确认('some message'))
我试图删除OnClientClick并仅使用按钮上的OnClick进行测试,但它仍然没有调用它。当我直接点击按钮进行测试时,它工作得非常好
有人知道问题出在哪里了吗?当通过
i
标记(通过设置全局变量)单击时,您可以更改JavaScript函数ConfirmDelete()
以返回true
或者添加另一个不显示或不包含JavaScript OnClick的按钮来处理回发
例如:
<asp:LinkButton
style="display:none;"
runat="server"
ID="btnHiddenDeleteActivity"
OnClick="btnDeleteActivity_Click">
</asp:LinkButton>
或者你也可以回电话
function DeleteActivity() {
__doPostBack('<%= btnDeleteActivity.UniqueID %>','')
}
函数DeleteActivity(){
__doPostBack('','')
}
我使用了doPostBack,它工作了!谢谢你,伙计!