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,它工作了!谢谢你,伙计!