在不使用TempData的情况下避免在MVC中进行大数据重定向

时间:2013-02-08 15:45:31

标签: asp.net asp.net-mvc

问题:

  1. 您有自定义控制器操作,可修改大量数据(大约5MB)。
  2. 您需要将此数据传递给另一个不允许修改的控制器操作。
  3. 最好的方法是什么?

    正常的RedirectToAction会导致巨大的数据发布。

    TempData不能用作解决方法,因为您无法修改其他控制器以读取tempdata。

    [HttpPost, ActionName("Import")]
        public ActionResult ImportPost(int id)
        {
        var bigData = GetBigData(id);
        bigData = ManipulateBigDataIntoFormatOtherControllerUnderstands(bigData);
    
    
        // TODO: redirect to other controller (which has HttpPost attribute), somehow??
    }
    

1 个答案:

答案 0 :(得分:4)

没关系,在发布后立即给出答案:

var c = new Namespace.Controllers.OtherController();
c.ControllerContext = ControllerContext;
return c.Action(bigData);