【问题标题】:Using JQueryUI dialog in ASP.NET在 ASP.NET 中使用 JQueryUI 对话框
【发布时间】:2011-10-08 12:41:38
【问题描述】:

我正在尝试用 JQueryUI 对话框替换标准的 javascript 确认功能。我一直在寻找解决方案,但似乎没有什么对我有用。我想要的很简单:单击 ASP.Net 按钮,显示对话框,如果按下“是”则继续。当前的javascript代码:

    $(document).ready(function () {

        $("#confirmDialog").dialog({
            autoOpen: false,
            modal: true,
            closeOnEscape: false,
            bgiframe: true,
            open: function (event, ui) { $(".ui-dialog-titlebar-close", ui.dialog).hide() },
            buttons: {
                "Yes": function () {
                    $(this).dialog('close');
                    return true;
                },
                "No": function () {
                    $(this).dialog('close');
                    return false;
                }
            }
        });
    });

    function showDialog() {
        $("#confirmDialog").dialog('open');
        return false;
    }

ASP.NET 代码:

            <asp:Button ID="DeleteButton" CssClass='button' onmouseout="this.className='button'"
                onmouseover="this.className='button:hover'" runat='server' Text='Delete' Width='1in'
                Height="30px" OnClientClick="javascript:showDialog();" OnClick="DeleteSetup"/>

发生的情况是显示了对话框,但在对话框中选择任何内容之前调用了 DeleteSetup vb.net sub。

提前感谢您的任何帮助或建议。

【问题讨论】:

  • jQuery 对话框不会阻止 javascript 的执行。所以每次 showDialog 函数都会返回 false 值并且服务器端事件没有被触发。
  • 把DeleteSetup放在“Yes”函数回调中。

标签: asp.net jquery-ui jquery-ui-dialog


【解决方案1】:

尝试将您的 OnClientClick 声明更改为此

OnClientClick="return showDialog();"

【讨论】:

  • 我按照建议更改了 OnClientClick,但这没有帮助。对话框出现,但处理继续, OnClick 事件触发(即使对话框被声明为模态)。我确定我无法完成这项工作的原因是我缺乏理解(尽管我已经尝试过)。我想要的只是让这个对话框表现得像标准的 javascript 确认函数。如何?谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-09-25
  • 1970-01-01
  • 2012-03-07
  • 2014-07-13
  • 2011-08-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多