使用参数重定向到操作 - 参数设置为null

时间:2015-08-06 18:13:06

标签: c# asp.net asp.net-mvc

我是MVC新手。我愚弄试图掌握这个概念。我有以下代码。它很直接。当用户点击排序操作时,它会对列表进行排序并将列表发送到索引操作(还有许多其他方法可以实现此目的,例如发送排序bool - 正如我所说,我只是在愚弄)。

我遇到的问题是Index操作中的模型参数始终为null。运行(调试)代码时会执行排序操作,而m = model不是null(有一个用户列表)。我也可以按照它直接进入索引。有人可以告诉我,我做错了什么?将非常感谢帮助。

public ActionResult Index(List<user> model)
        {
            if (model == null)
            {
                model = (from u in UsersList
                             select u).ToList<user>();
            }

            return View(model);
        }

 public ActionResult Sort()
        { 
            var model = from f in UsersList
                      orderby f.Name ascending
                      select f;

            return RedirectToAction("Index", new {m = model});

        }

1 个答案:

答案 0 :(得分:1)

您在这里做的是将模型作为参数传递

RedirectToAction("Index", new {m = model});

但不允许这样做。你必须直接传递模型

RedirectToAction("Index", model);

如果您仍希望将其作为参数传递,请查看this post