从客户端调用服务器端按钮单击函数

我有一个像这样的按钮:


<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里面的JS函数只是一个简单的return confirm('some message'))


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


有人知道可能是什么问题吗?


HUX布斯
浏览 103回答 1
1回答

富国沪深

您可以更改 JavaScript 函数,使其在被标签单击时ConfirmDelete()返回(通过设置全局变量)。truei或者添加另一个不显示或不包含 JavaScript OnClick 的按钮来处理回发。例如:<asp:LinkButton&nbsp; &nbsp; style="display:none;"&nbsp; &nbsp; runat="server"&nbsp; &nbsp; ID="btnHiddenDeleteActivity"&nbsp;&nbsp; &nbsp; OnClick="btnDeleteActivity_Click"></asp:LinkButton>或者你也可以直接调用 PostBackfunction DeleteActivity() {&nbsp; &nbsp;__doPostBack('<%= btnDeleteActivity.UniqueID %>','')}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript