2011-03-30 146 views
1

我正在编写一个应用程序,其中需要将一个System.Collections.ArrayList数据作为参数从一个控制器动作发送到另一个控制器动作。 我使用将ArrayList参数传递给控制器​​动作ASP.NET MVC

 
return RedirectToAction("action1","controller1", new { arrList = arrListInFirstAction}); 

但由于该ArrayList超出范围在第一时间行动,在重定向到动作参数接收一个空参数。

有人可以帮我找到这个问题的答案。

谢谢。

回答

3

您无法将复杂类型作为路由参数发送。你可以,但是,使用TempData集合,以保持该对象的一个​​请求,并在接下来的请求时,它会从集合被自动删除

publci ActionResutl action() 
{ 
    TempData["arr"] = new int[]{1,2,3}; 
    return RedirectToAction("action1"); 
} 

Public ActionResult action1() 
{ 
    int[] arr = TempData["arr"]; 
    return View(); 
} 
+0

问题解决了...谢谢:) – Jake 2011-03-30 04:26:34

+0

@Amit这很容易,是吧? =) – Pete 2011-03-30 04:26:58

+0

@Pete:是的,这很容易:) – Jake 2011-03-30 04:40:55

相关问题