MVC / AJAX-将当前模型集合发送到控制器

DaGrooveNL

在一个强类型的列表视图中,我试图通过Ajax将当前数据(作为模型列表)传递给我的控制器,以便它可以执行某些操作。

我面临的问题是,我似乎无法将当前视图中的数据列表传递给控制器​​。使用不带参数的AJAX方法有效(但是我需要使用参数,或者是否有其他方法可以向控制器提供上述信息?)。

我还尝试过在构造视图时创建一个列表(测试),然后使用该变量作为参数,但是显然在构造之后,该变量为空吗?

索引检视

@model IEnumerable<databaseModel.cbms>

@{
    ViewBag.Title = "Cbms Home";
    List<databaseModel.cbms> test = Model.ToList();
}

@Ajax.ActionLink("productId", "AJX_SortByProductId", new { cbmsModel = test }, new AjaxOptions()
                    {
                        HttpMethod = "GET",
                        UpdateTargetId = "divCbms",
                        InsertionMode = InsertionMode.Replace
                    })

控制器

public PartialViewResult AJX_SortByProductId(List<cbms> cbmsModel)
        {            
            //Retrieves the data
            List<cbms> model = cbms.SortByProductId();
            //Returns the partial view
            return PartialView("_Cbms", model);
        }

因此,当我进入控制器时,List cbmsModel为空,因此无法将其用作参数。我可以毫无问题地传递一个字符串,但是我想在视图上显示当前模型数据的列表。

编辑:

以下内容也不起作用:

模型

@model IEnumerable<databaseModel.cbms>

@{
    ViewBag.Title = "Cbms Home";
    List<databaseModel.cbms> test = Model.ToList();  
    List<databaseModel.cbms> cbmsModel = new List<databaseModel.cbms>();    
    int i = 0;
    foreach (databaseModel.cbms value in test)
    {
        i++;
        TempData.Add(i.ToString(), value);
    }        
}


@Ajax.ActionLink("productId", "AJX_SortByProductId", new { cbmsModel = TempData.Values.ToList() }, new AjaxOptions()
               {
                   HttpMethod = "GET",
                   UpdateTargetId = "divCbms",
                   InsertionMode = InsertionMode.Replace
               })

这仍然导致参数为空。我真的不明白为什么...

DaGrooveNL

编辑:在阅读答案之前,请先查看此答案下方的评论,因为如果最多只有1个用户访问该网站,则此处提供的答案仅在特定情况下有效。

我通过以下方式解决了这个问题。这是一种肮脏的方式,但是可以解决问题。它将TempData传递给控制器​​,您只需列出TempData中的项目列表。

看法

@model IEnumerable

@{   
    ViewBag.Title = "Cbms Home";

    if (TempData != null)
    {
        TempData.Clear();
    }
    int i = 0;
    foreach (databaseModel.cbms value in Model.ToList())
    {
        i++;
        TempData.Add(i.ToString(), value);
    }    
}

控制器

public PartialViewResult AJX_SortByProductId()
    {            
        //Retrieves the data
        List<object> viewDataList = TempData.Values.ToList();
        TempData.Clear();
        List<cbms> dataList = new List<cbms>();
        if (viewDataList != null)
        {
            foreach (cbms cbmsEntry in viewDataList)
            {
                dataList.Add(cbmsEntry);
            }
        }
        List<cbms> model = cbms.SortByProductId(dataList);

        //Returns the partial view
        return PartialView("_Cbms", model);
    }

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将AJAX数据从VIEW发送到控制器?(PHP(MVC)+ AJAX)

来自分类Dev

jQuery使用Ajax将文件发送到MVC控制器

来自分类Dev

使用调用Ajax将字符串数组发送到mvc控制器

来自分类Dev

MVC Ajax:如何将字符串从视图发送到控制器

来自分类Dev

jQuery使用Ajax将文件发送到MVC控制器

来自分类Dev

使用 AJAX 将数据发送到 MVC 控制器

来自分类Dev

如何使用MVC,Jquery和Ajax将下拉列表中的选定值发送到控制器

来自分类Dev

从ajax作为空发送到MVC控制器的数据

来自分类Dev

从MVC 4中的数组获取变量并通过jQuery ajax发送到控制器

来自分类Dev

通过JQuery AJAX将有些复杂的对象发送到MVC控制器

来自分类Dev

jQuery Ajax无法将对象列表发送到MVC控制器

来自分类Dev

从 Ajax 发送到 MVC 控制器的未定义变量

来自分类Dev

ASP.NET MVC 将 List<Foo> 集合从我的视图发送到控制器

来自分类Dev

如何使用Ajax将复杂的数据类型发送到ASP.NET MVC中的控制器中的操作

来自分类Dev

如何正确处理将数组发送到Spring MVC控制器方法的AJAX请求?为什么它不起作用?

来自分类Dev

将控制器的多个模型发送到单个视图以获取不同形式的MVC

来自分类Dev

当我将JSON发送到MVC控制器时,模型未绑定

来自分类Dev

如何通过MVC C#中的控制器将模型数据发送到视图

来自分类Dev

使用AJAX将数组发送到CI中的控制器/模型

来自分类Dev

Ajax将模型作为JSON发送到控制器

来自分类Dev

如何通过 ajax 调用从 HTML 表单提交表数据发送到 Spring MVC 控制器

来自分类Dev

MVC将数据从视图发送到控制器

来自分类Dev

通过Ajax将数据发送到控制器

来自分类Dev

ajax将数据发送到控制器

来自分类Dev

将数据从 ajax 发送到控制器 codeigniter

来自分类Dev

MVC父子类型的模型表单提交不会将子集合发送给控制器

来自分类Dev

MVC-将值列表发送到AJAX调用

来自分类Dev

将数据从jQuery Ajax发送到MVC COntroller

来自分类Dev

使用 Ajax 将 json 发送到 Spring MVC

Related 相关文章

  1. 1

    如何将AJAX数据从VIEW发送到控制器?(PHP(MVC)+ AJAX)

  2. 2

    jQuery使用Ajax将文件发送到MVC控制器

  3. 3

    使用调用Ajax将字符串数组发送到mvc控制器

  4. 4

    MVC Ajax:如何将字符串从视图发送到控制器

  5. 5

    jQuery使用Ajax将文件发送到MVC控制器

  6. 6

    使用 AJAX 将数据发送到 MVC 控制器

  7. 7

    如何使用MVC,Jquery和Ajax将下拉列表中的选定值发送到控制器

  8. 8

    从ajax作为空发送到MVC控制器的数据

  9. 9

    从MVC 4中的数组获取变量并通过jQuery ajax发送到控制器

  10. 10

    通过JQuery AJAX将有些复杂的对象发送到MVC控制器

  11. 11

    jQuery Ajax无法将对象列表发送到MVC控制器

  12. 12

    从 Ajax 发送到 MVC 控制器的未定义变量

  13. 13

    ASP.NET MVC 将 List<Foo> 集合从我的视图发送到控制器

  14. 14

    如何使用Ajax将复杂的数据类型发送到ASP.NET MVC中的控制器中的操作

  15. 15

    如何正确处理将数组发送到Spring MVC控制器方法的AJAX请求?为什么它不起作用?

  16. 16

    将控制器的多个模型发送到单个视图以获取不同形式的MVC

  17. 17

    当我将JSON发送到MVC控制器时,模型未绑定

  18. 18

    如何通过MVC C#中的控制器将模型数据发送到视图

  19. 19

    使用AJAX将数组发送到CI中的控制器/模型

  20. 20

    Ajax将模型作为JSON发送到控制器

  21. 21

    如何通过 ajax 调用从 HTML 表单提交表数据发送到 Spring MVC 控制器

  22. 22

    MVC将数据从视图发送到控制器

  23. 23

    通过Ajax将数据发送到控制器

  24. 24

    ajax将数据发送到控制器

  25. 25

    将数据从 ajax 发送到控制器 codeigniter

  26. 26

    MVC父子类型的模型表单提交不会将子集合发送给控制器

  27. 27

    MVC-将值列表发送到AJAX调用

  28. 28

    将数据从jQuery Ajax发送到MVC COntroller

  29. 29

    使用 Ajax 将 json 发送到 Spring MVC

热门标签

归档