带嵌入表单的Jquery UI对话框

时间:2012-09-26 19:19:46

标签: jquery asp.net-mvc-3 jquery-ui

我的ASP.Net MVC3应用程序中有“用户设置”页面。这个页面包含很多花哨的Javascript和动画CSS。此页面允许用户更改其网站设置,并通过帖子自行完成此操作。

我现在的任务是在Jquery UI对话框中显示此页面。我已经能够使用以下Javascript代码

成功完成此任务
$(document).ready(function () { 
        $('#settings-link').click(function () {
            var tag = $("<div></div>");
            $.ajax({
                url: "MyWebsite/MySettings",
                success: function (data) {
                    tag.html(data).dialog({ modal: true }).dialog('open');
                }
            });
        });
    });

我遇到的麻烦如下

当用户更改其设置并单击“提交”按钮时,jquery对话框将消失,并且回发页面将显示在后台页面中。理想情况下,我希望允许用户进行更改,并在jquery对话框中显示回发。关于如何实现这一目标的任何想法?

1 个答案:

答案 0 :(得分:0)

您是否必须使用AJAX在对话框中发布数据?你使用不引人注目的AJAX吗?另外请检查jQuery UI对话框是否创建iframe(使用开发人员工具(F12))。

修改

要在对话框中显示发布结果,您可以使用以下方式:

  1. 将表单声明为AJAX表单:使用@ Ajax.BeginForm()并将jquery.ajax-unobtrusive.js的链接添加到您的页面(如果尚未完成)。
  2. 在显示对话框的javascript中,给div提供包含包装div的ID var tag = $("<div id='form-wrapper-div'></div>");

  3. 在AJAX选项中,将UpdateTargetId设置为&#34; form-wrapper-div&#34;

  4. 现在,POST结果将显示在对话框中。