Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net MVC RedirectToAction()有没有办法将对象传递给目标操作?_Asp.net_Asp.net Mvc_Asp.net Mvc 3 - Fatal编程技术网

Asp.net MVC RedirectToAction()有没有办法将对象传递给目标操作?

Asp.net MVC RedirectToAction()有没有办法将对象传递给目标操作?,asp.net,asp.net-mvc,asp.net-mvc-3,Asp.net,Asp.net Mvc,Asp.net Mvc 3,当代码跳转到CreateProduct()时,填充的catList总是Count=0,因此我认为它不会被交付。 考虑到RouteValueDictionary不能做到这一点?还有别的办法吗 public ActionResult GetCats(int CatID) { List<Category> catList = new List<Category>(); if (CatID >= 0 )

当代码跳转到CreateProduct()时,填充的catList总是Count=0,因此我认为它不会被交付。 考虑到RouteValueDictionary不能做到这一点?还有别的办法吗

       public ActionResult GetCats(int CatID)
    {

        List<Category> catList = new List<Category>();

        if (CatID >= 0 )
        {

            catList = context.Categories.Where(x => x.PCATID == CatID).ToList();
        }


        return RedirectToAction("CreateProduct", "Admin", new { catList });
    }





public ActionResult CreateProduct(List<Category> catList) {      }
public ActionResult GetCats(int-CatID)
{
List catList=新列表();
如果(CatID>=0)
{
catList=context.Categories.Where(x=>x.PCATID==CatID.ToList();
}
返回RedirectToAction(“CreateProduct”、“Admin”、新的{catList});
}
public ActionResult CreateProduct(列表catList){}
只需将带有要重定向到的URL的代码返回到浏览器。当这种情况发生时,浏览器将使用该URL执行GET


您的RouteValue需要简单。使用路由值无法真正传递复杂的对象或集合。

您可以将所需的任何项目放置在
TempData
中,然后调用
redirectoaction

如果您不关心浏览器url的更改,您可以


返回CreateProduct(catList

您实际上正在尝试使用控制器进行数据访问

将“GetCats”数据检索移动到您的业务层(服务对象、存储库,任何适合您的)

然后,CreateProduct需要出现两次(2个签名)。一个没有参数,您将在其中从业务层调用“GetCats”并将其发送到视图

另一个实现将用HttpPostAttribute标记,并将在参数中包含创建cat所需的所有信息


就这些。简单易用。

我同意返回视图或部分视图,而不是重定向到操作。过度使用时呈现操作和重定向到操作可能会影响应用程序性能。