我有控制器,它得到钥匙的名单,我想将它们传递到另一个控制器动作:asp.net MVC 3传递参数
public class DocumentController : Controller
{
private List<DocumentKey> _keys = new List<DocumentKey>();
[HttpPost]
public ActionResult Send(Document doc, IEnumerable<HttpPostedFileBase> file)
{
...
_keys = getKeys();
return RedirectToAction("Status", "Home", _keys);
}
我尝试使用
return RedirectToAction("Status", "Home", _keys);
和
return RedirectToAction("Status", "Home", new {keys = _keys});
但是在状态键中总是为空或者计数为0.
public class HomeController : Controller
{
public ActionResult Status(List<DocumentKey> keys)
{
return View(keys);
}
我可以通过简单的数据,例如:
return RedirectToAction("Status", "Home", new {key = _keys.First().ToString()});
public ActionResult Status(string key)
工作的,但有一种方式来传递集合?
TempData将存储,直到我刷新“状态”页面? –
@andronz - 正确 - tempdata存储在两个连续请求之间,之后它被销毁。 – Jesse