从客户端调用服务器端的按钮点击功能



我有一个这样的按钮:

<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();
}

问题是,当我单击I元素时,它只调用按钮的OnClientClick,而忽略OnClick

我试着删除OnClientClick,只用按钮上的OnClick进行测试,但它仍然没有调用它。当我直接测试点击按钮时,它工作得很好。

有人知道问题出在哪里?

i标记单击时,您可以更改JavaScript函数ConfirmDelete()以返回true(通过设置全局变量(。

或者添加另一个按钮,该按钮不显示或包含JavaScript OnClick来处理返回的帖子。

例如:

<asp:LinkButton
style="display:none;"
runat="server"
ID="btnHiddenDeleteActivity" 
OnClick="btnDeleteActivity_Click">
</asp:LinkButton>

或者,您也可以直接致电PostBack

function DeleteActivity() {
__doPostBack('<%= btnDeleteActivity.UniqueID %>','')
}

最新更新