【问题标题】:On Asp.net page why jquery close button not working在 Asp.net 页面上,为什么 jquery 关闭按钮不起作用
【发布时间】:2015-01-15 08:06:20
【问题描述】:

我使用 Asp.net 和 C#。当我点击一个按钮显示消息时,我得到一个弹出框,但是当我点击弹出框上的关闭按钮时,它并没有关闭弹出框。

aspx页面语法:

<div id='dialog-page' title="Modal">
</div>

<asp:LinkButton ID="lbtnModal" runat="server" Text="View" OnClientClick="javascript:return showDialog(this.name);"></asp:LinkButton>

jQuery 代码:

function showDialog(uniqueName) {
            var url = "ReportGenerationSingleACView.aspx?id=";
            var temp=document.getElementById('<% =txtCustomerID.ClientID%>').value;   
            url=url+temp;         

        $("#dialog-page").load(url).dialog({
                                        title: "AC View Details",
                                        autoOpen: false,
                                        resizable: true,
                                        height: 400,
                                        width: 600,                                          
                                        modal: true, 
                                        buttons: 
                                        {
                                            Close: function() {$(this).dialog("close");}
                                        }       
                            });                                


        $('#dialog-page').dialog('open');
        return false;
    } 

这里有一些关于弹出工作的更多信息,但那些不适合我:

堆栈溢出问题:jQuery Pop up not working

为什么它不适合我?如何处理或我错过了什么?帮我解决这个问题。

如果有任何问题,请询问 - 提前谢谢您,任何类型的建议都可以接受。

注意:弹出 X 图标正常工作,关闭按钮也被触发,但弹出窗口未关闭

【问题讨论】:

    标签: javascript jquery asp.net jquery-ui popup


    【解决方案1】:

    确保{$(this).dialog("close");} 位于对话框上。因此,您尝试关闭对话框中的对话框,但没有。

    改用{$(parent).dialog("close");} 或将函数传递给父页面。

    【讨论】:

    • Lorin 感谢您的回复,使用 {$(parent).dialog("close");} 不起作用。
    • 嗯,好的。你能调试一下关闭功能吗?更改 $(this).dialog("close");到 var myObject = $(this); myObject.dialog("关闭");并查看 myObject 是否有方法 dialog() 。可能是函数本身没有被触发或者消息是错误的。
    • Lorin,我在关闭按钮部分设置了警报,它正在工作,向我显示消息。我使用的语法是 Close: function () { var myObject = $(this); myObject.dialog("关闭");警报(我的对象); }
    • Shamim,是的,但您仍然不知道 myObject 是什么类型。你能在 myObject.dialog("close"); 行设置断点吗?看看 myObject 的内部?
    • Lorin,对不起,如果我没有犯任何错误,它在调试模式下看不到 javascript 关闭事件变量值。完整的 jquery 函数如何调试。
    猜你喜欢
    • 2016-07-06
    • 1970-01-01
    • 2017-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-23
    • 1970-01-01
    相关资源
    最近更新 更多