Jquery 从“ui上的部分”对话框将模型对象传递回控制器

Jquery 从“ui上的部分”对话框将模型对象传递回控制器,jquery,asp.net-mvc,json,asp.net-mvc-partialview,Jquery,Asp.net Mvc,Json,Asp.net Mvc Partialview,我有一个编辑详细信息表单,它在jquery ui对话框中显示为部分。我想将修改提交回数据库,但在使用MVC3编辑表单上使用的标准提交按钮时遇到了问题。。我想提交更改,但仍保留在对话框中 我在页面上放置了一个按钮,它调用了一点jquery(如下)。我需要知道的是如何序列化我的模型(称为Models.User)并将其传递回控制器 正如您所看到的,我已经准备好了jquery的大部分内容——我所需要做的就是序列化和发送数据。我猜我将需要使用Json,但我并不是100%了解如何使用Json 谢谢你的帮助

我有一个编辑详细信息表单,它在jquery ui对话框中显示为部分。我想将修改提交回数据库,但在使用MVC3编辑表单上使用的标准提交按钮时遇到了问题。。我想提交更改,但仍保留在对话框中

我在页面上放置了一个按钮,它调用了一点jquery(如下)。我需要知道的是如何序列化我的模型(称为Models.User)并将其传递回控制器

正如您所看到的,我已经准备好了jquery的大部分内容——我所需要做的就是序列化和发送数据。我猜我将需要使用Json,但我并不是100%了解如何使用Json

谢谢你的帮助

<script type="text/javascript">
    $(document).ready(function(e) {
        $(function() {
            $("#quickButton1").live("click", function (e) {
                e.preventDefault();
                $.ajax({
                    url: "/Users/QuickEditSave/",
                    data: ({}),                  
                    success: function (data) {
                        uiDialog.close();
                    },
                    error: function(xhr, ajaxOptions, thrownError) {
                        alert(xhr.responseText);
                    }
                });
            });
        });
    });    
</script>

$(文档).ready(函数(e){
$(函数(){
$(“#快速按钮1”).live(“单击”,功能(e){
e、 预防默认值();
$.ajax({
url:“/Users/QuickEditSave/”,
数据:({}),
成功:功能(数据){
uiDialog.close();
},
错误:函数(xhr、ajaxOptions、thrownError){
警报(xhr.responseText);
}
});
});
});
});    
已解决:

var formData = $("form").serialize();

data: formData,
type: "POST",
然后在我的控制器expect和object中:

public string QuickEditSave(newUser newuser)
决议:

var formData = $("form").serialize();

data: formData,
type: "POST",
然后在我的控制器expect和object中:

public string QuickEditSave(newUser newuser)

您必须将表单输入元素序列化为JSON对象,然后通过
$.Ajax
发送它

使用此插件序列化您的表单数据(此部分来自SO):

然后将其与以下内容一起发送:

   $.ajax({
         url: "/Users/QuickEditSave/",
         data: JSON.stringify($('form').serializeObject()),                  
         success: function (data) {
          uiDialog.close();
         },
         error: function(xhr, ajaxOptions, thrownError) {
            alert(xhr.responseText);
         }
    });

您必须将表单输入元素序列化为JSON对象,然后通过
$.Ajax
发送它

使用此插件序列化您的表单数据(此部分来自SO):

然后将其与以下内容一起发送:

   $.ajax({
         url: "/Users/QuickEditSave/",
         data: JSON.stringify($('form').serializeObject()),                  
         success: function (data) {
          uiDialog.close();
         },
         error: function(xhr, ajaxOptions, thrownError) {
            alert(xhr.responseText);
         }
    });

请为您的视图发布完整代码。请为您的视图发布完整代码。如果这是解决方案,则应将其标记为完整代码。如果这是解决方案,则应将其标记为解决方案。