1

我的 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 对话框本身中。关于如何实现这一目标的任何想法?

4

1 回答 1

0

您必须使用 AJAX 在对话框发布数据中形成吗?你使用不显眼的 AJAX 吗?另请检查是否创建了 jQuery UI 对话框iframe(为此使用开发人员工具 (F12))。

编辑:

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

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

  3. 在 AJAX 选项中将 UpdateTargetId 设置为“form-wrapper-div”

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

于 2012-09-26T19:41:23.900 回答