将数据从ActionResult传递到另一个时的静态字段与TempData

时间:2016-04-13 13:52:17

标签: c# asp.net-mvc

TempData[]static字段都可用于将数据从ActionResult传递到另一个。

是否存在性能/内存差异?最佳实践?

我还注意到,在分页或排序时,会调用Detail函数,这会导致汽车列表保留在内存中。

public class TestController
 {
      private static IEnumerable<Cars> _cars;

      public ActionResult Detials()
      {
          var uploadedCars = TempData["cars"] as IEnumerable<Cars>;
          var testViewModel = new TestViewModel();
          var result = TestViewModel.Process(uploadedCars);
          //var result = TestViewModel.Process(_cars);
          return View(result);
      }

      public ActionResult UploadCars(object obj)
      {
          // upload file ...
            _cars= null; // reset value
            //_cars= loader.GetAllCars(uploader);
            TempData["cars"] = loader.GetAllCars(uploader);
            return RedirectToAction("Detials");
        }
      }

 }

0 个答案:

没有答案