如何将多个Json对象传递给ASP.net MVC控制器?

用户名

我真的很感谢这里的提示...我一直在寻找解决方案已有4个小时了...

我有一个像这样的功能:

public virtual JsonResult LoadPreviousProductsJson(SearchResultModel rmodel, SearchCriteriaModel cmodel)

我正在尝试将数据发送到此控制器,如下所示:

var jsonData = $('#frmSearchResult').serialize();
var stringToPost = JSON.stringify(jsonData);

var jsonData2 = $('#frmSearchProducts').serialize();
var stringToPost2 = JSON.stringify(jsonData2);


$.post('@Url.Action(MVC.Product.LoadPreviousProductsJson())', { rmodel: stringToPost, cmodel: stringToPost2 })
    .done(function(data) {....

结果导致对象在控制器中为Null ...

如果我只发送1个Json对象,我就成功了:

$.post('@Url.Action(MVC.Product.LoadPreviousProductsJson())', stringToPost)
.done(function(data) {....

但是当我尝试将它们一起发送时,总是失败...


我唯一能做的就是将2个对象作为字符串发送并用Newtonsoft读取它们,但是在这里,我无法将字符串转换为相应的对象...。

model = Newtonsoft.Json.JsonConvert.DeserializeObject<SearchResultModel>(rmodel);
model2 = Newtonsoft.Json.JsonConvert.DeserializeObject<SearchCriteriaModel>(cmodel);

上面的代码失败了...

用户名

首先,感谢inkosi和krish给出的建议(都给了大拇指)。他的答案不完全是我所需要的,因为我仍在获取空值。

这是最终为我工作的东西。

控制器:

        public virtual JsonResult LoadPreviousProductsJson(string rmodel, string cmodel){

            SearchResultModel model = new SearchResultModel();

        SearchCriteriaModel modelSearchCriteria = new SearchCriteriaModel();

        model = Newtonsoft.Json.JsonConvert.DeserializeObject<SearchResultModel>(rmodel);

        modelSearchCriteria = Newtonsoft.Json.JsonConvert.DeserializeObject<SearchCriteriaModel>(cmodel); 
.......
}

Javascript:

        $.fn.serializeObject = function () {
        var o = {};
        var a = this.serializeArray();
        $.each(a, function () {
            if (o[this.name]) {
                if (!o[this.name].push) {
                    o[this.name] = [o[this.name]];
                }
                o[this.name].push(this.value || '');
            } else {
                o[this.name] = this.value || '';
            }
        });





            var jsonDataNewResult = $('#frmSearchResult').serializeObject();

        var stringjsonDataNewResult = JSON.stringify(jsonDataNewResult);


        var jsonDataNewCriteria = $('#frmSearchProducts').serializeObject();

        var stringjsonDataNewCriteria = JSON.stringify(jsonDataNewCriteria);

        $.post('@Url.Action(MVC.Product.LoadPreviousProductsJson())',
            { rmodel: stringjsonDataNewResult, cmodel: stringjsonDataNewCriteria })
            .done(function(data) {

多么美好的一天:-(,我一定已经尝试了一百件事...我什至不记得我尝试过的所有事情.....很高兴来到这里,现在向老板解释为什么这个琐碎的事情已经发生了我这么久....我想念桌面编程!

PS。感谢这2个SO帖子:

使用jQuery将表单数据转换为JavaScript对象

在ASP.NET MVC中使用jQuery.serializeArray

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将复杂的JSON对象传递给ASP.net控制器

来自分类Dev

如何将 Ajax Json 对象传递给 .Net Core 中的控制器类?

来自分类Dev

ASP.NET MVC如何将多个复选框值传递给控制器

来自分类Dev

如何将多个集合作为参数从 ASP.NET MVC 中的控制器传递给视图?

来自分类Dev

如何将ID从角度视图传递给ASP.NET MVC控制器?

来自分类Dev

asp.net mvc 如何将视图模型和输入文本传递给控制器?

来自分类Dev

如何使用 Jquery 和 ajax 将 id 传递给 MVC 控制器 [ASP.NET]

来自分类Dev

将空列表从控制器传递到控制器ASP.NET MVC

来自分类Dev

如何将JavaScript数据传递到控制器ASP.NET MVC

来自分类Dev

如何将项目列表从视图传递到控制器(ASP.NET MVC 4)

来自分类Dev

如何将元组从JavaScript传递到ASP.NET MVC控制器操作

来自分类Dev

如何将列表从控制器传递到ASP.NET MVC中的javascript函数?

来自分类Dev

如何将javascript对象传递给C#MVC 4控制器

来自分类Dev

如何将多个相同类型的对象传递给控制器?

来自分类Dev

AngularJS和asp.net MVC-将数据传递给控制器?

来自分类Dev

将CheckBox的值传递给ASP.NET MVC4中的控制器操作

来自分类Dev

ActionLink没有将参数传递给控制器-asp.Net MVC 4

来自分类Dev

ASP.NET MVC控制器未使用ModelView将正确的值传递给PartialView

来自分类Dev

AngularJS和asp.net MVC-将数据传递给控制器?

来自分类Dev

ASP.NET MVC使用Ajax将整个模型传递给控制器

来自分类Dev

如何将数据从ASP.NET WebAPI ApiController传递到ASP.NET MVC控制器?

来自分类Dev

如何将数据从ASP.NET WebAPI ApiController传递到ASP.NET MVC控制器?

来自分类Dev

如何使ASP.NET MVC控制器方法异步

来自分类Dev

如何在ASP .NET MVC中将特定行的值传递给控制器方法

来自分类Dev

ASP.NET MVC从同一控制器发布到控制器的操作

来自分类Dev

将多个参数从Ajax Post传递到ASP.NET MVC控制器

来自分类Dev

将整个对象从视图传递到ASP.NET MVC 5中的控制器

来自分类Dev

使用ASP.NET MVC将表对象从视图传递到控制器

来自分类Dev

_Layout的ASP.Net MVC控制器

Related 相关文章

  1. 1

    如何将复杂的JSON对象传递给ASP.net控制器

  2. 2

    如何将 Ajax Json 对象传递给 .Net Core 中的控制器类?

  3. 3

    ASP.NET MVC如何将多个复选框值传递给控制器

  4. 4

    如何将多个集合作为参数从 ASP.NET MVC 中的控制器传递给视图?

  5. 5

    如何将ID从角度视图传递给ASP.NET MVC控制器?

  6. 6

    asp.net mvc 如何将视图模型和输入文本传递给控制器?

  7. 7

    如何使用 Jquery 和 ajax 将 id 传递给 MVC 控制器 [ASP.NET]

  8. 8

    将空列表从控制器传递到控制器ASP.NET MVC

  9. 9

    如何将JavaScript数据传递到控制器ASP.NET MVC

  10. 10

    如何将项目列表从视图传递到控制器(ASP.NET MVC 4)

  11. 11

    如何将元组从JavaScript传递到ASP.NET MVC控制器操作

  12. 12

    如何将列表从控制器传递到ASP.NET MVC中的javascript函数?

  13. 13

    如何将javascript对象传递给C#MVC 4控制器

  14. 14

    如何将多个相同类型的对象传递给控制器?

  15. 15

    AngularJS和asp.net MVC-将数据传递给控制器?

  16. 16

    将CheckBox的值传递给ASP.NET MVC4中的控制器操作

  17. 17

    ActionLink没有将参数传递给控制器-asp.Net MVC 4

  18. 18

    ASP.NET MVC控制器未使用ModelView将正确的值传递给PartialView

  19. 19

    AngularJS和asp.net MVC-将数据传递给控制器?

  20. 20

    ASP.NET MVC使用Ajax将整个模型传递给控制器

  21. 21

    如何将数据从ASP.NET WebAPI ApiController传递到ASP.NET MVC控制器?

  22. 22

    如何将数据从ASP.NET WebAPI ApiController传递到ASP.NET MVC控制器?

  23. 23

    如何使ASP.NET MVC控制器方法异步

  24. 24

    如何在ASP .NET MVC中将特定行的值传递给控制器方法

  25. 25

    ASP.NET MVC从同一控制器发布到控制器的操作

  26. 26

    将多个参数从Ajax Post传递到ASP.NET MVC控制器

  27. 27

    将整个对象从视图传递到ASP.NET MVC 5中的控制器

  28. 28

    使用ASP.NET MVC将表对象从视图传递到控制器

  29. 29

    _Layout的ASP.Net MVC控制器

热门标签

归档