0

我对 ASP.NET MVC 很陌生,我有以下问题。管理员创建用户后,我想使用 jQuery 显示成功弹出窗口。这是我写的代码:

            <button id="show-dialog" type="submit" class="btn blue ">
                Create
                <i class="icon-plus"></i>
            </button>

            <div id="dialog">
                <p>
                    The User is saved in DB
                </p>
            </div>

            <script type="text/javascript">
                $(function () {
                    $('#dialog').dialog({
                        autoOpen: false,
                        resizable: true, 
                        dialogClass: 'ui-dialog-blue',
                        show: {
                            effect: "blind",
                            duration: 500
                        },
                        hide: {
                            effect: "clip",
                            duration: 500
                        }
                    });
                    $("#show-dialog").button().click(function () {
                        $('#dialog').dialog('open');
                    });
                });
            </script>

问题是,在我单击按钮后,用户没有保存到数据库中。请原谅我糟糕的英语

==============编辑==================================== ==============================

删除 return false 后,数据将正确保存。但是现在弹出窗口只显示大约 1 秒,并且由于控制器中的方法,我被重定向到另一个页面。我应该只实现 Thread.sleep() 还是最好的解决方案?

4

1 回答 1

0

您可以尝试删除

return false;

点击函数中的行。这应该允许您在单击按钮时提交表单,但是当页面刷新时您不会看到您的对话框消息。

或者,您可以使用 ajax 调用来发布您的表单。像这样的东西:

$("#show-dialog").button().click(function () {
    $.post( 'your-route', $('form').serialize(), function(data) {
         $('#dialog').dialog('open');
    })        
});
于 2013-06-14T00:08:00.067 回答