当用户尝试删除客户时,会出现一个弹出窗口,其中列出了原因。在这下面是一个删除按钮,它在后面的代码中调用删除功能。 但按钮没有被触发,我没有收到任何错误,所以我不知道它为什么不起作用
第一个按钮只显示弹出对话框,第二个按钮调用btnDelete_Click函数。
按钮:
<a runat="server" id="btnDelete" style="float:right;" class="btnDeleteLarge" href="#" onclick="OpenDeleteDialog()">Delete</a>
<asp:Button runat="server" ID="btnDeleteReason" CssClass="btnDeleteLarge" ToolTip="Delete customer" style="float:right;display:none" OnClick="btnDelete_Click" Text="Delete" />
使用Javascript:
function pageLoad(sender, args)
{
$("#dvAddReason").dialog({
modal: true,
autoOpen: false,
appendTo: "form",
buttons: {
'Delete': function () {
if(confirm('Are you sure you want to delete customer?')){
$('#<%=btnDeleteReason.ClientID %>').trigger('click');
}
},
Cancel: function () {
$(this).dialog("close");
}
}
});
}
function OpenDeleteDialog(){
$("#dvAddReason").dialog("open");
}
所以问题在于行$('#<%=btnDeleteReason.ClientID %>').trigger('click');
。触发器无效,btnDelete_Click
永远不会被调用。
我也尝试将按钮更改为链接按钮:
<asp:LinkButton Visible="true" runat="server" ID="btnDeleteReason" OnClick="btnDelete_Click">LinkDelete</asp:LinkButton>
然后在javascript中调用__doPostBack('ctl00$ContentPlaceHolder1$btnDeleteReason', '');
。但这也不起作用。
答案 0 :(得分:0)
我说你的选择器很奇怪。 #<%=btnDeleteReason.ClientID %>
我看到你正在尝试做什么,但我不认为它会以这种方式工作。你必须首先解决<%=btnDeleteReason.ClientID %>
的意思(我猜它会像btnDeleteReason.23
那样给你一样),然后将它用作选择器($('#btnDeleteReason.23').trigger('click')
)
PS:也许这可行:$('#<%=btnDeleteReason.ClientID %>').click();
PPS:尝试使用console.log(&#39;&lt;%= btnDeleteReason.ClientID%&gt;&#39;)查看它为您提供的内容。