按钮触发器未被调用

button trigger doesn't get called

本文关键字:调用 触发器 按钮      更新时间:2023-09-26

当用户尝试删除客户时,会出现一个弹出窗口,列出原因。下面是一个删除按钮,它调用代码隐藏中的删除函数。但是按钮没有被触发,而且我没有收到任何错误,所以我不知道为什么它不起作用

第一个按钮仅显示弹出对话框,第二个按钮调用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', '');。但这也没有用。

我会说你的选择器很奇怪。 #<%=btnDeleteReason.ClientID %> 我明白你想做什么,但我认为它不会那样工作。你必须首先解决<%=btnDeleteReason.ClientID %>的意思(我想它会像btnDeleteReason.23一样给你 smth),然后将其用作选择器($('#btnDeleteReason.23').trigger('click')

PS : 也许这可以工作 : $('#<%=btnDeleteReason.ClientID %>').click();

PPS :尝试控制台.log('<%=btnDeleteReason.ClientID %>')看看它给你什么。